首先导入两个jar包一个C3P0的
c3p0-0.9.1.2.jar
另一个是你所使用的数据库的
mysql-connector-java-5.1.7-bin.jar
接下来就是直接上代码:
package com.c3p0.cn;import org.junit.Test;import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3P0_Test { /** * 硬链接 * @throws Exception */ @Test public void c3p0_Test_old() throws Exception { ComboPooledDataSource dataSource = new ComboPooledDataSource();//数据源端口池 dataSource.setDriverClass("com.mysql.jdbc.Driver"); dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/staff"); dataSource.setUser("root"); dataSource.setPassword("123456"); dataSource.setInitialPoolSize(3);//设置初始链接数 dataSource.setMaxPoolSize(6);//设置最大连接数 dataSource.setMaxIdleTime(3000);//设置最大活跃时间 dataSource.getConnection().prepareStatement("delete from user where id = 18").executeUpdate(); } /** * 配置方式链接 * @throws Exception */ @Test public void c3p0_Test() throws Exception { ComboPooledDataSource dataSource = new ComboPooledDataSource();//默认会调用src下面的c3p0_config.xml配置文件 dataSource.getConnection().prepareStatement("delete from user where id = 19").executeUpdate(); }}
作为JDBC使用的时候可以结合DBUtils的包一起使用,而且代码实现非常方便(下面就是采用两个jar包,结合使用的查询数据库中元素的方式)
package com.xinzhi.utils;import org.apache.commons.dbutils.QueryRunner;import com.mchange.v2.c3p0.ComboPooledDataSource;public class JdbcUtils { public static QueryRunner getQueryRunner(){ ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource(); QueryRunner queryRunner = new QueryRunner(comboPooledDataSource); return queryRunner; }}
package com.xinzhi.dao.impl;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import org.apache.commons.dbutils.QueryRunner;import org.apache.commons.dbutils.handlers.BeanListHandler;import com.xinzhi.dao.UserDao;import com.xinzhi.empity.User;import com.xinzhi.utils.JdbcUtils;public class UserDaoImpl implements UserDao { public ListgetAll() { QueryRunner queryRunner = JdbcUtils.getQueryRunner(); String sql = "select * from userempity"; List users = new ArrayList (); try { users = queryRunner.query(sql, new BeanListHandler (User.class)); } catch (SQLException e) { throw new RuntimeException(e); } return users; }}
硬链接是不需要配置文件的,而配置链接是需要配置文件的,而c3p0在创建对象的时候默认会在src文件夹下面寻找一个叫c3p0_config.xml的配置文件
而这个默认的配置文件是有固定的格式参考如下,其中提供了可链接多个数据库的方式:
c3p0-config.xml
com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/staff root 123456 com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/staff root 123456