spring创建连接池的几种方式

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,如需转载请自行联系原作者






上一篇:书单推荐 | 数据挖掘和统计科学自学十大必备读物


下一篇:GBDT回归的原理及Python实现