C3P0连接池
最常用的连接池技术!Spring框架,默认支持C3P0连接池技术!
C3P0连接池,核心类:
CombopooledDataSource ds;
使用方法:
引入jar文件: c3p0-0.9.1.2.jar 点击打开链接
使用连接池,创建连接
硬编码方式
配置方式(xml)
Demo案例
package com.cn.c3p0;
import java.sql.Connection;
import org.junit.Test;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3p0Test {
/**
* 1.硬编码方式,使用c3p0连接池管理连接
* @throws Exception
*/
@Test
public void testCode() throws Exception {
//创建c3p0连接池核心工具类
ComboPooledDataSource dataSource = new ComboPooledDataSource();
//设置连接池参数:url,驱动字符串、用户密码、初始连接数、最大连接数url、driverClassName、username、password、initialSize、maxActive
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setUser("root");
dataSource.setPassword("root");
dataSource.setInitialPoolSize(3);
dataSource.setMaxPoolSize(6);
dataSource.setMaxIdleTime(1000);
//从连接池对象中获取连接对象
Connection conn = dataSource.getConnection();
//执行更新
conn.prepareStatement("delete from users where id = 7").executeUpdate();
//关闭
conn.close();
}
/**
* 2.XML配置方式,使用c3p0连接池管理连接
* @throws Exception
*/
@Test
public void testXML() throws Exception {
//创建c3p0连接池核心工具类
ComboPooledDataSource dataSource = new ComboPooledDataSource();//调用默认的配置default-config,自动加载src下c3p0的配置文件【c3p0-config.xml】,注意xml文件名固定
// ComboPooledDataSource dataSource = new ComboPooledDataSource("c3p0的配置文件中命名的配置");
//从连接池对象中获取连接对象
Connection conn = dataSource.getConnection();
//执行更新
conn.prepareStatement("delete from users where id = 10").executeUpdate();
//关闭
conn.close();
}
}
c3p0-config.xml
<c3p0-config>
<!-- 默认配置 -->
<default-config>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/mydb</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="initialPoolSize">3</property>
<property name="maxPoolSize">6</property>
<property name="maxIdleTime">1</property>
<user-overrides user="swaldman">
<property name="debugUnreturnedConnectionStackTraces">true</property>
</user-overrides>
</default-config>
<!-- c3p0核心工具类根据传入的参数configName字符串来调用此配置 -->
<named-config name="oracle_Config">
<property name=""></property>
<property name=""></property>
</named-config>
</c3p0-config>