使用c3p0连接池需要导入的包为:c3p0-0.9.2-pre1.jar和mchange-commons-0.2.jar
还可以添加commons-dbutils-1.4.jar
(commons-dbutils-1.4jar:
包org.apache.commons.dbutils
DbUtils是一个为简化JDBC操作的小类库.
接口摘要
ResultSetHandler 将ResultSet转换为别的对象的工具.
RowProcessor 将ResultSet行转换为别的对象的工具.
类摘要
DbUtils 一个JDBC辅助工具集合. )
mysql驱动类包:mysql-connector-java-5.1.28-bin.jar
oracle驱动类包:ojdbc6.jar
1
.package cn.itcast.demo1;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
import org.junit.Test;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* c3p0
* @author cxf
*
*/
public class Demo1 {
@Test
public void fun1() throws PropertyVetoException,SQLException {
//创建连接池对象
ComboPooledDataSource dataSource=new ComboPooledDataSource();
//对池进行四大参数的配置
dataSource.setDriverClass("jdbc:oracle:thin:@localhost:1521:ding");
dataSource.setJdbcUrl("oracle.jdbc.driver.OracleDriver");
dataSource.setUser("System");
dataSource.setPassword("123");
//池配置
dataSource.setAcquireIncrement(5);当连接池中连接耗尽的时候c3p0一次同时获取的连接数
dataSource.setInitialPoolSize(20);初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3
dataSource.setMinPoolSize(2);// 最小连接数
dataSource.setMaxPoolSize(50);//最大连接数
Connection con=dataSource.getConnection();
System.out.println(con);
con.close();
}
2.在src目录配置有c3p0-config.xml
(继续)
@Test
public void fun2() throw SQLException{
ComboPooledDataSource dataSource=new ComboPooledDataSource();
/**
* 在创建连接池对象时,这个对象就会自动加载配置该xml文件!不用我们来指定
*/
Connection con=dataSource.getConnection();
System.out.println(con);
con.close();
}
/**
* 使用命名配置信息
* @throws SQLException
*/
@Test
public void fun3() throws SQLException{
/**
* 构造器的参数指定命名配置元素的名称!
* <named-config name="oracle-config">
*/
ComboPooledDataSource dataSource = new ComboPooledDataSource("oracle-config");
Connection con = dataSource.getConnection();
System.out.println(con);
con.close();
}
}
以下是src目录下的c3p0-config.xml文件