工程目录结构如下:
![](//img-blog.csdn.net/20180316145455173)
测试类-DButils_C3P0Pool.java:
package com.xiao.DButilsTest;
import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;
import com.xiao.utils.C3P0Utils;
/**
* @author 笑笑
* @Date 2018年3月16日下午2:41:56
*
*/
public class DButils_C3P0Pool {
//添加数据,使用QueryRunner类的update方法
@Test
public void addUser() throws Exception{
//创建QueryRunner类的对象,使用C3P0Utils获取连接池
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
//书写SQL语句
String sql = "insert into user_tb values(?,?,?,?,?,?)";
//将?占位符的实际参数写在数组中
Object[] params = {0,"笑笑","123456",23,"男","123@123.com"};
//调用update执行SQL语句
int row = qr.update(sql, params);
if(row > 0){
System.out.println("添加用户成功!");
}else{
System.out.println("添加用户失败!");
}
}
}
工具类-C3P0Utils.java:
package com.xiao.utils;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3P0Utils {
//加载默认配置文件目录:src/c3p0-config.xml
public static ComboPooledDataSource dataSource = new ComboPooledDataSource();
//获取连接池
public static DataSource getDataSource(){
return dataSource;
}
}
C3P0配置文件-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:///all_db</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">20</property>
</default-config>
</c3p0-config>