1.导入jar包(两个)
c3p0-0.9.5.2.jar和mchange-commons-java-0.2.12.jar
导入数据库驱动jar包
2.定义配置文件
配置文件名称:c3p0.properties 或者 c3p0-config.xml(叫这两个名称会自动寻找文件)
路径:默认在项目类路径(指的是在src下)
3.获取数据库连接池对象
创建核心对象
数据库连接池对象ComboPooledDataSource 【DataSource 连接池、数据源】
ComboPooledDataSource什么都不传使用默认的(使用较多)
DataSource ds = new ComboPooledDataSource();
指定名称可以使用指定配置
DataSource ds = new ComboPooledDataSource("otherc3p0");
4.获取连接:getConnection
获取连接对象
package cn.itcust.datasource.c3p0; import com.mchange.v2.c3p0.ComboPooledDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; /** * c3p0的演示 * */ public class C3P0Demo1 { public static void main(String[] args) throws SQLException { //1.导包 //2.写配置文件 //3.创建数据库连接池对象 DataSource ds = new ComboPooledDataSource(); //4.获取连接池对象 Connection conn = ds.getConnection(); //5.打印连接对象。字符串的形式展示获取到了。报错,null没获取到 System.out.println(conn); } }
输出的内容
JDBC4Connection类名
12bc6874哈希扣的值
package cn.itcust.datasource.c3p0; import com.mchange.v2.c3p0.ComboPooledDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; /** * c3p0演示,连接参数 */ public class C3P0Demo2 { public static void main(String[] args) throws SQLException { testNamedConfig(); } public static void testNamedConfig() throws SQLException {//为了方便调用设置为静态的 //获取DataSource,使用指定名称配置 DataSource ds = new ComboPooledDataSource("otherc3p0"); //2.获取连接 for (int i = 1; i < 11; i++) { Connection conn = ds.getConnection(); System.out.println(i + ":" + conn); } } }