c3p0创建连接池
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c3p0创建连接池相关的知识,希望对你有一定的参考价值。
c3p0是目前应用最广泛的数据库连接池
特性:有空闲自动回收连接功能;
有异步执行功能。
使用c3p0需要导包,链接https://sourceforge.net/projects/c3p0/
需要导的包:c3p0-0.9.5.2-sources.jar mchange-commons-java-0.2.11-sources.jar
c3p0解压包中doc下有详细使用介绍(全英文)
核心类:ComboPooledDataSource
配置文件:必须叫做 c3p0-config.xml
Java代码:
public class C3p0{
private static ComboPooledDataSource ds = null;
//静态代码块
static{
ds = new ComboPooledDataSource();
}
public static Connection getConnection(){
try {
//通过ds得到一个Connection对象
return ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
for(int i=0; i<5; i++) {
//在控制台输出连接
System.out.println(getCon());
}
}
}
配置文件:
<c3p0-config>
<!-- 默认配置 -->
<default-config>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="user">root</property>
<property name="password">123123</property>
<!-- 数据库驱动 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<!-- 连接池中初始化值 -->
<property name="initialPoolSize">5</property>
<!-- 连接池中最大值 -->
<property name="maxPoolSize">10</property>
<!-- 超过最大值等待时间 -->
<property name="checkoutTimeout">3000</property>
</default-config>
<!-- 通过名字intergalactoApp配置 -->
<named-config name="intergalactoApp">
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="user">root</property>
<property name="password">123123</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="initialPoolSize">10</property>
<property name="maxPoolSize">20</property>
<property name="checkoutTimeout">5000</property>
</named-config>
</c3p0-config>
以上是关于c3p0创建连接池的主要内容,如果未能解决你的问题,请参考以下文章