spring3配置文件中已配置好c3p0数据连接池,在java代码中获取数据库连接要set ComboPooledDataSource对象?

时间:2022-09-19 23:22:47
java代码如下:
cpds = new ComboPooledDataSource();  
cpds.setDriverClass("com.mysql.jdbc.Driver");
cpds.setJdbcUrl("jdbc:mysql://localhost:3306/db_shangcheng?useUnicode=true;characterEncoding=utf8");
cpds.setUser("root");
cpds.setPassword("520168");

按我的理解,spring3配置文件中已配置好c3p0数据连接池:已设置好数据库驱动、连接串,用户名和密码,我想在java代码中应该直接可以获取c3p0数据源连接,为什么还要在java代码还要设置一遍,才能连接数据呢?求解释,或告诉怎么在java中正确获取spring3中配置好的c3p0数据连接池? 

7 个解决方案

#1


直接通过SpringConext获取你配置好的dataSource就可以了。

#2


该回复于2014-03-22 17:12:21被管理员删除

#3


引用 1 楼 jxplus 的回复:
直接通过SpringConext获取你配置好的dataSource就可以了。

请问如何获取的呢?能不能说具体点呢?

#4


引用 3 楼 u012544390 的回复:
Quote: 引用 1 楼 jxplus 的回复:

直接通过SpringConext获取你配置好的dataSource就可以了。

请问如何获取的呢?能不能说具体点呢?



@autowire
DataSource dataSource;

#5


<!-- 配置dbcp数据源 -->
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 队列中的最小等待数 -->
<property name="minIdle" value="${jdbc.minIdle}"></property>
<!-- 队列中的最大等待数 -->
<property name="maxIdle" value="${jdbc.maxIdle}"></property>
<!-- 最长等待时间,单位毫秒 -->
<property name="maxWait" value="${jdbc.maxWait}"></property>
<!-- 最大活跃数 -->
<property name="maxActive" value="${jdbc.maxActive}"></property>
<property name="initialSize" value="${jdbc.initialSize}"></property>
</bean>

取这个bean实例,就是你要的吧。

#6


ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
ComboPooledDataSource dataSource= (ComboPooledDataSource)ac.getBean("dataSource");
因为c3p0配置在spring中,首先你要获取到spring上下文的对象,然后getBean就可以得到了

#7


请问这个问题最后怎么解决的?怎么获取呢?我也遇到了这个问题。谢谢。

#1


直接通过SpringConext获取你配置好的dataSource就可以了。

#2


该回复于2014-03-22 17:12:21被管理员删除

#3


引用 1 楼 jxplus 的回复:
直接通过SpringConext获取你配置好的dataSource就可以了。

请问如何获取的呢?能不能说具体点呢?

#4


引用 3 楼 u012544390 的回复:
Quote: 引用 1 楼 jxplus 的回复:

直接通过SpringConext获取你配置好的dataSource就可以了。

请问如何获取的呢?能不能说具体点呢?



@autowire
DataSource dataSource;

#5


<!-- 配置dbcp数据源 -->
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 队列中的最小等待数 -->
<property name="minIdle" value="${jdbc.minIdle}"></property>
<!-- 队列中的最大等待数 -->
<property name="maxIdle" value="${jdbc.maxIdle}"></property>
<!-- 最长等待时间,单位毫秒 -->
<property name="maxWait" value="${jdbc.maxWait}"></property>
<!-- 最大活跃数 -->
<property name="maxActive" value="${jdbc.maxActive}"></property>
<property name="initialSize" value="${jdbc.initialSize}"></property>
</bean>

取这个bean实例,就是你要的吧。

#6


ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
ComboPooledDataSource dataSource= (ComboPooledDataSource)ac.getBean("dataSource");
因为c3p0配置在spring中,首先你要获取到spring上下文的对象,然后getBean就可以得到了

#7


请问这个问题最后怎么解决的?怎么获取呢?我也遇到了这个问题。谢谢。