使用连接池可以更加高效的对数据库的数据进行操作,C3P0在开发中是一种比较常用的连接池,以下是使用C3P0连接池制作的工具类。使用C3P0连接池需要导入第三方jar包
下载链接:https://download.csdn.net/download/y_fei/10979935
DBCP连接池:https://blog.csdn.net/Y_Fei/article/details/87896498
一、C3P0Utils工具类
package jdbcutils;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3P0Utils {
//创建DataSource对象,无参构造加载配置文件读取default部分,带参构造传入字符串读取带名字的配置
private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
//构造函数私有化
private C3P0Utils() {
}
public static DataSource getDataSource(){
return dataSource;
}
public static Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("获取连接失败");
}
}
}
二、配置文件
配置文件放在src目录下,名字必须为c3p0-config.xml
<?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/mydb</property>
<property name="user">root</property>
<property name="password">123</property>
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">20</property>
</default-config>
<!-- 带名字的配置 -->
<named-config name="myname">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///web_07</property>
<property name="user">root</property>
<property name="password">123</property>
</named-config>
</c3p0-config>