C3P0 是開源免費的連接池。
- 文件名稱: 必須校 c3p0-config.xml
- 文件位置: 必須在 src 下
//c3p0-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- 这是默认配置信息 -->
<default-config>
<!-- 连接四大参数配置 -->
<property name="jdbcUrl">jdbc:mysql://localhost:3306/mydb3</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">123</property>
<!-- 池参数配置 -->
<property name="acquireIncrement">3</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">2</property>
<property name="maxPoolSize">10</property>
</default-config>
<!-- 专门为oracle提供的配置信息 -->
<named-config name="oracle-config">
<property name="jdbcUrl">jdbc:mysql://localhost:3306/mydb1</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">123</property>
<property name="acquireIncrement">3</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">2</property>
<property name="maxPoolSize">10</property>
</named-config>
</c3p0-config>
//demo8.java
package demo8;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
import org.junit.Test;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* c3p0
* @author jack870131
*
*/
public class demo8 {
@Test
public void fun1() throws PropertyVetoException, SQLException {
//創建連接池對象
ComboPooledDataSource dataSource = new ComboPooledDataSource();
//對池進行四大參數的配置
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydb1");
dataSource.setUser("root");
dataSource.setPassword("tyler0131");
//池配置
dataSource.setAcquireIncrement(5);
dataSource.setInitialPoolSize(20);
dataSource.setMinPoolSize(2);
dataSource.setMaxPoolSize(50);
//得到連接
Connection con = dataSource.getConnection();
System.out.println(con);
con.close();
}
@Test
public void fun2() throws SQLException {
/**
* 在創建連接池對象時,這個對象就會自動加載配置文件,不用我們來指定
*/
ComboPooledDataSource dataSource = new ComboPooledDataSource();
Connection con = dataSource.getConnection();
System.out.println(con);
con.close();
}
/**
* 使用命名配置信息
* <named-config name="oracle-config">
* @throws SQLException
*/
@Test
public void fun3() throws SQLException {
ComboPooledDataSource dataSource = new ComboPooledDataSource("oracle-config");
Connection con = dataSource.getConnection();
System.out.println(con);
con.close();
}
}