jdbc C3P0连接池
作者:互联网
需要的jar包:
package demo; import java.beans.PropertyVetoException; import java.sql.Connection; import org.junit.Test; import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3p0 { @Test public void fun1() throws Exception { // 创建连接池对象 ComboPooledDataSource ds = new ComboPooledDataSource(); // 四大参数 ds.setDriverClass("com.mysql.jdbc.Driver"); ds.setJdbcUrl("jdbc:mysql://localhost:3306/db1"); ds.setUser("root"); ds.setPassword("747699"); // 池配置 ds.setAcquireIncrement(5); // 自增数 ds.setInitialPoolSize(20); // 初始容量 ds.setMinPoolSize(2); // 最小连接数 ds.setMaxPoolSize(50); // 最大连接 Connection conn = ds.getConnection(); // 获取连接 System.out.println(conn); conn.close(); // 归还连接 } }
配置文件
配置文件必须命名为c3p0-config.xml并且放在src目录下
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!-- 默认配置 --> <default-config> <!-- 连接四大参数配置 --> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/db1</property> <property name="user">root</property> <property name="password">123456</property> <!-- 池配置 --> <property name="initialPoolSize">10</property> <property name="maxIdleTime">30</property> <property name="maxPoolSize">100</property> <property name="minPoolSize">10</property> </default-config> <!-- 命名配置,在创建c3p0对象的时候在构造器中传入name,例如下面的myApp --> <named-config name="myApp"> <property name="user">root</property> <property name="password">123456</property> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql:///users</property> <property name="initialPoolSize">10</property> <property name="maxIdleTime">30</property> <property name="maxPoolSize">100</property> <property name="minPoolSize">10</property> </named-config> </c3p0-config>
代码测试:
// 使用配置文件创建池 @Test public void fun2() throws Exception { // 创建池 ComboPooledDataSource ds = new ComboPooledDataSource(); // 命名创建池 // 获取连接 Connection conn = ds.getConnection(); System.out.println(conn); conn.close(); // 归还连接 }
如果在使用配置文件创建池的时候,后面又自定义了配置,那么后面的自定义的配置会覆盖配置文件的配置。
因为在创建的时候就是读取配置文件中的配置,后面自定义的将会覆盖读取的配置。
标签:jdbc,配置文件,C3P0,conn,mysql,ds,连接池,ComboPooledDataSource 来源: https://www.cnblogs.com/0099-ymsml/p/16245319.html