****************************************************************************************************************
C3P0连接池:
最常用的连接池技术!Spring框架,默认支持C3P0连接池技术!
C3P0连接池,核心类:
ComboPooledDataSource cpds;
使用:
1. 下载,引入jar文件: c3p0-0.9.1.2.jar
*******************************************************************************************************************
*********************************************测试类(两种方法实现)******************************************
package dbutil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import org.junit.Test;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/*
* C3P0连接池技术
*/
public class AppC3p0 {
//1.硬编码方式,使用C3P0连接池管理连接
@Test
public void test1() throws Exception{
//创建连接池核心工具类
ComboPooledDataSource cpds = new ComboPooledDataSource();
//设置连接参数:url、驱动、用户、密码、初始化连接数、最大连接数、最大空闲空间
cpds.setJdbcUrl("jdbc:mysql://localhost:3306/day17");
cpds.setDriverClass("com.mysql.jdbc.Driver");
cpds.setUser("root");
cpds.setPassword("root");
cpds.setInitialPoolSize(3);
cpds.setMaxPoolSize(6);
cpds.setMaxIdleTime(1000);
//从连接池对象中,获取连接对象
Connection con = cpds.getConnection();
//执行更新
con.prepareStatement("delete from admin where id = 7").executeUpdate();
//关闭
con.close();
}
//2.xml配置文件方式,使用C3P0连接池管理连接
@Test
public void test2() throws Exception{
//创建C3P0连接池核心工具类
//自动加载src下C3P0的配置文件【c3p0-config.xml】
ComboPooledDataSource cpds = new ComboPooledDataSource();
PreparedStatement pstmt = null;
//获取连接
Connection con = cpds.getConnection();
for (int i = 0; i < 10; i++) {
String sql = "insert into admin(username,pwd) values(?,?)";
//执行更新
pstmt = con.prepareStatement(sql);
pstmt.setString(1, "sbbbb"+i);
pstmt.setInt(2, 666+i);
pstmt.executeUpdate();
}
//关闭
pstmt.close();
con.close();
}
/*
* C3P0连接池技术
*/
public class AppC3p0 {
//1.硬编码方式,使用C3P0连接池管理连接
@Test
public void test1() throws Exception{
//创建连接池核心工具类
ComboPooledDataSource cpds = new ComboPooledDataSource();
//设置连接参数:url、驱动、用户、密码、初始化连接数、最大连接数、最大空闲空间
cpds.setJdbcUrl("jdbc:mysql://localhost:3306/day17");
cpds.setDriverClass("com.mysql.jdbc.Driver");
cpds.setUser("root");
cpds.setPassword("root");
cpds.setInitialPoolSize(3);
cpds.setMaxPoolSize(6);
cpds.setMaxIdleTime(1000);
//从连接池对象中,获取连接对象
Connection con = cpds.getConnection();
//执行更新
con.prepareStatement("delete from admin where id = 7").executeUpdate();
//关闭
con.close();
}
//2.xml配置文件方式,使用C3P0连接池管理连接
@Test
public void test2() throws Exception{
//创建C3P0连接池核心工具类
//自动加载src下C3P0的配置文件【c3p0-config.xml】
ComboPooledDataSource cpds = new ComboPooledDataSource();
PreparedStatement pstmt = null;
//获取连接
Connection con = cpds.getConnection();
for (int i = 0; i < 10; i++) {
String sql = "insert into admin(username,pwd) values(?,?)";
//执行更新
pstmt = con.prepareStatement(sql);
pstmt.setString(1, "sbbbb"+i);
pstmt.setInt(2, 666+i);
pstmt.executeUpdate();
}
//关闭
pstmt.close();
con.close();
}
}
**********************************c3p0-config.xml配置文件(放在classes下)*******************************************