1 准备jar包
c3p0-0.9.5.2.jar//c3po连接池,也可以使用druid连接池
mchange-commons-java-0.2.12.jar//c3p0连接池辅助包
mysql-connector-java-5.1.37-bin.jar//连接mysql数据库jar包
2 准备配置文件
c3p0-config.xml//c3p0配置文件
3 实现功能
在resources文件夹中放入c3p0配置文件,内容如下
<?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`//web58</property>`//数据库ip以及端口号
<property name="user">root</property>//root是数据库用户名
<property name="password">root</property>//root为数据库密码
</default-config>
</c3p0-config>
在lib文件夹中导入jar包
JDBCUtil工具类实现代码如下
package com.lovejava.utils;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
private static DataSource ds;
static {
ds = new ComboPooledDataSource();
}
public static Connection getConnection() throws SQLException {
//需要连接,从ds中获取
return ds.getConnection();
}
public static DataSource getDataSource(){
return ds;
}
public void close(ResultSet rst, Statement stm, Connection conn){
if (rst != null){
try {
rst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
close(stm,conn);
}
public void close(Statement stm,Connection conn){
if (stm != null) {
try {
stm.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
4 使用方法
在其他类中直接调用JDBCUtil.getDataSource()方法获得连接池;
在其它类中直接调用JDBCUtil.getConnection()方法获得连接;
使用完毕调用JDBCUtilclose()方法回收连接。