c3p0数据库连接池
1.下载地址:https://sourceforge.net/projects/c3p0/
2.使用
1)将下载后解压文件内的这两个文件丢进去(可以自行选择版本)
注:这里的mysql-connector的jar包记得要放上去

2)代码:
①创建配置文件c3p0-config.xml(我放到src里头)

<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/javadb</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>
<!-- This app is massive! -->
<named-config name="otherc3p0">
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/javadb</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>
②运行代码
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

浙公网安备 33010602011771号