c3p0創建連接池
c3p0是目前應用最廣泛的數據庫連接池
特性:有空閑自動回收連接功能;
有異步執行功能。
使用c3p0需要導包,鏈接https://sourceforge.net/projects/c3p0/
需要導的包:c3p0-0.9.5.2-sources.jar mchange-commons-java-0.2.11-sources.jar
c3p0解壓包中doc下有詳細使用介紹(全英文)
核心類:ComboPooledDataSource
配置文件:必須叫做 c3p0-config.xml
Java代碼:
public class C3p0{
private static ComboPooledDataSource ds = null;
//靜態代碼塊
static{
ds = new ComboPooledDataSource();
}
public static Connection getConnection(){
try {
//通過ds得到一個Connection對象
return ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
for(int i=0; i<5; i++) {
//在控制臺輸出連接
System.out.println(getCon());
}
}
}
配置文件:
<c3p0-config>
<!-- 默認配置 -->
<default-config>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="user">root</property>
<property name="password">123123</property>
<!-- 數據庫驅動 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<!-- 連接池中初始化值 -->
<property name="initialPoolSize">5</property>
<!-- 連接池中最大值 -->
<property name="maxPoolSize">10</property>
<!-- 超過最大值等待時間 -->
<property name="checkoutTimeout">3000</property>
</default-config>
<!-- 通過名字intergalactoApp配置 -->
<named-config name="intergalactoApp">
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="user">root</property>
<property name="password">123123</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="initialPoolSize">10</property>
<property name="maxPoolSize">20</property>
<property name="checkoutTimeout">5000</property>
</named-config>
</c3p0-config>
c3p0創建連接池