当前位置: 代码迷 >> Java Web开发 >> 关于springmvc中jdbc数据源连接的有关问题·
  详细解决方案

关于springmvc中jdbc数据源连接的有关问题·

热度:128   发布时间:2016-04-16 21:36:36.0
关于springmvc中jdbc数据源连接的问题····
我在项目的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&amp;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&amp;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数据源
  相关解决方案