我在项目的xxx-servlet.xml文件中配置了如下:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/tsc?useUnicode=true&characterEncoding=utf8" />
<property name="username" value="root" />
<property name="password" value="root" />
<property name="initialSize" value="3" />
<property name="maxActive" value="100" />
<property name="maxIdle" value="50" />
<property name="minIdle" value="10" />
</bean>
但是我在java代码中如何使用这个数据源啊。。。
好像这样不行啊:
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/tsc");
Connection con = ds.getConnection(); 找不到java:comp/env/jdbc/tsc这个啊,到底怎么用的。。。
还有就是如何我配置了jdbcTemplate
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
使用了jdbcTemplate 是不是就等于使用了已配置的dbcp数据源啊····
------解决思路----------------------
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/tsc?useUnicode=true&characterEncoding=utf8" />
<property name="username" value="root" />
<property name="password" value="root" />
<property name="initialSize" value="3" />
<property name="maxActive" value="100" />
<property name="maxIdle" value="50" />
<property name="minIdle" value="10" />
</bean>
上面是spring的方式配置数据源
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/tsc");
这个是通过jndi的方式获取数据源
两个不是一回事,你没有将数据源交给jndi去管理,所以这里是拿不到的
楼主看看tomcat配置数据库连接池吧,参考 tomcat7配置jndi数据源