一、创建文件
在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/数据库名?useUnicode=true&characterEncoding=UTF-8</property>
<property name="user">root</property>
<property name="password">密码</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
</default-config>
</c3p0-config>
二、创建C3P0Utils
/**
* @author CSDN_LQR
* @TODO c3p0工具类(数据库连接池工具),用于管理多个数据库连接对象。
*
* 与DBCP不同的是,c3p0不用手动加载配置文件,只需将配置文件放到src目录即可。
*/
public class C3P0Utils {
// 得到一个数据源(连接池)
private static DataSource ds = new ComboPooledDataSource();
public static DataSource getDataSource() {
return ds;
}
/**
* 得到数据库连接对象
*
* @return
*/
public static Connection getConnection() {
Connection conn;
try {
conn = ds.getConnection();
return conn;
} catch (SQLException e) {
throw new RuntimeException("服务器忙。。。");
}
}
/**
* 关闭所有资源连接
*
* @param conn
* @param ps
* @param rs
*/
public static void releaseAll(Connection conn, Statement ps, ResultSet rs) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = null;
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ps = null;
}
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs = null;
}
}
}
三、注意
使用c3p0需要用到的jar包有:c3p0-0.9.1.2.jar、mysql-connector-java-5.0.8-bin.jar