jdbc之c3p0连接池使用(3种)

时间:2022-10-25 23:20:21

使用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文件

jdbc之c3p0连接池使用(3种)