c3p0数据库连接池
1.下载地址:https://sourceforge.net/projects/c3p0/
2.使用
1)将下载后解压文件内的这两个文件丢进去(可以自行选择版本)
注:这里的mysql-connector的jar包记得要放上去
2)代码:
①创建配置文件c3p0-config.xml(我放到src里头)
<default-config> "driverClass">com.mysql.cj.jdbc.Driver "jdbcUrl">jdbc:mysql://localhost:3306/javadb "user">root "password">root "initialPoolSize">5 "maxPoolSize">10 "checkoutTimeout">3000 default-config>"otherc3p0"> "driverClass">com.mysql.cj.jdbc.Driver "jdbcUrl">jdbc:mysql://localhost:3306/javadb "user">root "password">root "initialPoolSize">5 "maxPoolSize">8 "checkoutTimeout">1000
②运行代码
package util; import com.mchange.v2.c3p0.ComboPooledDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; public class C3P0Demo { public static void main(String[] args) throws SQLException { //创建数据库连接池对象(没传参数,使用默认配置) //DataSource ds = new ComboPooledDataSource(); //使用指定名称的链接 DataSource ds = new ComboPooledDataSource("otherc3p0"); //连接对象 for(int i = 1; i <= 11; i ++){ Connection conn = ds.getConnection(); System.out.println(i + ":" + conn); if(i == 5){ conn.close(); } } } }
结果:(这个是执行默认的链接产生的-最大线程池默认10,我执行了11次,等于5的时候释放不报错)
参阅:https://www.bilibili.com/video/BV1vk4y117fU?p=516