数据库连接池_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/database/277438.html