c3p0连接池
c3p0连接池依赖于c3p0-0.9.1.2.jar,如果数据库为oracle,还需要导入c3p0-oracle-thin-extras-0.9.0.2.jar,(common-pool-1.6.jar)
主要参数:
该连接池同样有两种配置方法:
1.无参,硬编码方法:
public static DataSource getDataSourceWithC3P0(){
ComboPooledDataSource c3p0 = new ComboPooledDataSource();
try {
c3p0.setDriverClass("oracle.jdbc.driver.OracleDriver");
} catch (PropertyVetoException e) {
e.printStackTrace();
}
c3p0.setJdbcUrl("jdbc:oracle:thin:@127.0.0.1:1521:ORCL");
c3p0.setUser("scott");
c3p0.setPassword("tiger");
return c3p0;
}
2.有参,配置文件的方法
在src里面创建一个名为c3p0-config.xml的文件,信息如下
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<!-- 如果要研究某个xml中可以设置哪些属性。找相关类的 属性 或者setXxx()-->
<property name="user">scott</property>
<property name="password">tiger</property>
<property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
<property name="jdbcUrl">jdbc:oracle:thin:@127.0.0.1:1521:ORCL</property>
<property name="checkoutTimeout">30000</property>
</default-config>
<name-config name="luzelong">
<property name="user">scott</property>
<property name="password">tiger</property>
<property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
<property name="jdbcUrl">jdbc:oracle:thin:@127.0.0.1:1521:ORCL</property>
</name-config>
</c3p0-config>
<!-- default是默认的 name找不到的属性就在default里面找 -->
调用如下:
public static DataSource getDataSourceWithC3P0ByXml(){
ComboPooledDataSource c3p0 = new ComboPooledDataSource("luzelong");
return c3p0;
}
验证:
public static void main(String[] args) throws Exception{
System.out.println(getDataSourceWithC3P0ByXml().getConnection());
}
能够显示数据,就证明连接池无误!!