在使用spring進行javaWeb開發的過程中,需要和數據庫進行數據交換,為此要經常獲取數據庫連接,使用JDBC的方式獲取數據庫連接,使用完畢之後再釋放連接,這種過程對系統資源的消耗無疑是很大的,這裡簡單描述三種數據庫連接池的配置,使用這些連接池可以獲得一個數據源。1、spring自帶的JDBC連接池;2、c3p0;3、dbcp;
一、spring自帶的JDBC方式
spring提供了對JDBC的支持,且提供了基於JDBC的數據源的配置,如下配置文件
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property> <property name="username" value="root"></property> <property name="password" value="123456"></property> </bean>
在spring的配置文件,配置上面的bean,便得到一個JDBC的數據源。
二、c3p0
c3p0是一個開源的數據庫連接池,可以很好的管理數據連接,如下配置
<bean id="dataSourceC3p0" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/test"></property> <property name="user" value="root"></property> <property name="password" value="123456"></property> </bean>
在spring的配置文件中,配置上面的bean,便得到一個c3p0的數據源;
注:要使用c3p0連接池,必須導入c3p0的jar包,在0.9.1版本之前,c3p0只有一二jar包:c3p0-0.9.1.jar,從0.9.2之後又分離出另外一個包:mchange-commons-java-0.2.11.jar,我這裡使用的0.9.5.2的版本,所以我導入了兩個jar包:c3p0-0.9.5.2.jar、mchange-commons-java-0.2.11.jar。具體的下載地址可以網上查詢。
三、dbcp
dbcp同樣是一個開源的數據連接池,如下配置,
<bean id="dataSourceDbcp" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property> <property name="username" value="root"></property> <property name="password" value="123456"></property> </bean>
在spring的配置文件中,配置上面的bean,便得到一個dbcp的數據源;
注:要使用dbcp連接池需要導入相應的jar包,這裡導入的是兩個jar包:commons-dbcp-1.4.jar、commons-pool-1.5.6.jar
上面的三種數據源的配置都是最基礎的配置,如果需要得到性能高的數據源源,還需要其他的配置項,可以執行研究。
有不正之處歡迎指出,謝謝!