spring使用连接池有很多种方式,jdbc(不使用连接池),c3p0,dbcp,jndi,下面将分别贴代码介绍这几种:
1.jdbc方式
使用的是DriverManagerDataSource,DriverManagerDataSource建立连接是只要有连接就新建一个connection, 根本没有连接池的作用
1
2
3
4
5
6
|
<bean id=
"dataSource"
class
=
"org.springframework.jdbc.datasource.DriverManagerDataSource"
>
<property name=
"driverClassName"
><value>${jdbc.driverClassName}</value></property>
<property name=
"url"
><value>${jdbc.url}</value></property>
<property name=
"username"
><value>${jdbc.username}</value></property>
<property name=
"password"
><value>${jdbc.password}</value></property>
</bean>
|
2.C3P0连接池
使用的是ComboPooledDataSource
1
2
3
4
5
6
7
|
<bean id=
"dataSource"
class
=
"com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method=
"close"
>
<property name=
"driverClass"
value=
" oracle.jdbc.driver.OracleDriver "
/>
<property name=
"jdbcUrl"
value=
" jdbc:oracle:thin:@localhost:1521:ora9i "
/>
<property name=
"user"
value=
"admin"
/>
<property name=
"password"
value=
"1234"
/>
</bean>
|
3.DBCP连接池
使用的是BasicDataSource
1
2
3
4
5
6
7
|
<bean id=
"dataSource"
class
=
"org.apache.commons.dbcp.BasicDataSource"
destroy-method=
"close"
>
<property name=
"driverClassName"
value=
"oracle.jdbc.driver.OracleDriver"
/>
<property name=
"url"
value=
"jdbc:oracle:thin:@192.168.24.102:1521:sms"
/>
<property name=
"userna me"
value=
"test"
/>
<property name=
"password"
value=
"test"
/>
</bean>
|
由于spring对C3P0,DBCP连接池有了很好的支持,所以只需要如上的配置,就配置好了相应数据源的连接池。
4.JNDI方式
使用的是JndiObjectFactoryBean
1
2
3
|
<bean id=
"dataSource"
class
=
"org.springframework.jndi.JndiObjectFactoryBean"
>
<property name=
"jndiName"
><value>java:comp/env/jdbc/roseindiaDB_local</value></property>
</bean>
|
这种使用JDNI的方式,同样需要服务器的支持,如在tomcat的context.xml加入相应的代码,具体的可以看前一篇文章的介绍
本文转自布拉君君 51CTO博客,原文链接:http://blog.51cto.com/5148737/1430423,如需转载请自行联系原作者