C3P0连接池

来源:互联网 发布:淘宝乔丹是真的吗 编辑:程序博客网 时间:2024/04/29 18:45
****************************************************************************************************************

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 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-config.xml配置文件(放在classes下)*******************************************


原创粉丝点击