数据库连接池_c3p0基本使用
步骤:
1.导入jar包(两个):c3p0-0.9.5.2.jar,mchange-commons-java-0.2.12.jar,不要忘记导入数据库驱动jar包
2.定义配置文件:
- 名称:c3p0.properties 或者 c3p0-config.xml
- 路径:直接将文件放在src目录下即可
3.创建核心对象:数据库连接池对象: ComboPooledDataSource
4.获取连接:getConnection
c3p0-config.xml配置文件
<c3p0-config>
<!-- 使用默认的配置读取连接池对象 -->
<default-config>
<!-- 连接参数 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/db2</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 连接池参数 -->
<!--初始化申请的连接数量-->
<property name="initialPoolSize">5</property>
<!--最大的连接数量-->
<property name="maxPoolSize">10</property>
<!--超时时间-->
<property name="checkoutTimeout">3000</property>
</default-config>
<named-config name="otherc3p0">
<!-- 连接参数 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/db4</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 连接池参数 -->
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">8</property>
<property name="checkoutTimeout">1000</property>
</named-config>
</c3p0-config>
/*
c3p0的演示
*/
public class c3p0D01 {
public static void main(String[] args) throws SQLException {
//创建数据库连接池对象
ComboPooledDataSource ds = new ComboPooledDataSource();
//获取连接对象
Connection connection = ds.getConnection();
System.out.println(connection);
}
}

数据库连接池_c3p0_配置演示
//获取DataSoure,使用默认配置
ComboPooledDataSource ds = new ComboPooledDataSource();
//获取连接
for (int i = 1; i <=11; i++) {
Connection conn = ds.getConnection();
System.out.println(i+":"+conn);
if (i==5){
conn.close();//将连接归还到连接池中
}
}
如果不归还

最大连接会超出进行报错

正确的:


什么也不传则会使用默认的

注意:指定的最大连接数为8个所以(也可以自己编写)
运行10个会出现异常
//使用指定名称配置
ComboPooledDataSource ds = new ComboPooledDataSource("otherc3p0");
//获取连接
for (int i = 1; i <=10; i++) {
Connection conn = ds.getConnection();
System.out.println(i+":"+conn);
}
搜索
复制
原创文章,作者:jamestackk,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/277438.html