來源:來自師范的學渣 發(fā)布時間:2018-12-08 11:30:16 閱讀量:911
在JDBC基本操作中,每次操作數(shù)據(jù)庫都需要創(chuàng)建和斷開一次Connection對象,
但是如果訪問操作十分頻繁的話,就會十分影響訪問數(shù)據(jù)庫的問題,想要解決這個問題就需要使用數(shù)據(jù)庫連接池,
C3P0是現(xiàn)在很流行的開源數(shù)據(jù)庫連接池,
下面是一個通過配置文件創(chuàng)建數(shù)據(jù)源對象
1、創(chuàng)建配置文件
在eclipse中創(chuàng)建一個名為web-chapter10的web項目,并在其src中創(chuàng)建配置文件c3p0-config.xml
代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">
jdbc:mysql://localhost:3306/jdbc
</property>
<property name="user">root</property>
<property name="password">itcast</property>
<property name="checkoutTimeout">30000</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
<property name="maxStatements">200</property>
</default-config>
<named-config name="itcast">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">
jdbc:mysql://localhost:3306/jdbc
</property>
<property name="user">root</property>
<property name="password">itcast</property>
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">15</property>
</named-config>
</c3p0-config>
其中default-config是指默認配置,named-config是自定義配置
2、導入jar包
3、創(chuàng)建測試類
在src下創(chuàng)建cn.itcast.chapter10.example包,并在包中創(chuàng)建Example1類,代碼如下:
package cn.itcast.chapter10.example;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class Example04 {
public static DataSource ds = null;
// 初始化C3P0數(shù)據(jù)源
static {
// 使用c3p0-config.xml配置文件中的named-config節(jié)點中name屬性的值
ComboPooledDataSource cpds = new ComboPooledDataSource("itcast");
ds = cpds;
}
public static void main(String[] args) throws SQLException {
System.out.println(ds.getConnection());
}
}
4,測試
運行類中的main方法,得到如下:
至此使用配置文件連接C3P0數(shù)據(jù)源的實驗就完成了
---------------------