数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。本文主要整理了C3P0数据源的数据库连接池的搭建。

环境:Windows 7
工具:
MyEclipse 2017
mysql-connector-java-5.1.6.jar

一. 导包
需要导入以下两个包
c3po-0.905.2.jar:连接池的实现
mchange-commons-java-0.2.11.jar:连接池实现的依赖库

二. 在src下创建c3p0-config.xml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///c3p0test</property>
<property name="user">root</property>
<property name="password">root</property>
</default-config>
<named-config name="mysql_test"> //连接名
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test?useSSL=false</property>
<property name="user">lousen</property>
<property name="password">1135497143</property>
<property name="initialPoolSize">10</property> //初始化连接数
<property name="maxIdleTime">30</property> //连接最大空闲时间
<property name="maxPoolSize">100</property> //最大连接数
<property name="minPoolSize">10</property> //最小连接数
</named-config>
</c3p0-config>

三. 使用数据库连接池

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.lousen.test_10;
import java.sql.Connection;
import java.sql.SQLException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class SqlTest_7 {
public static ComboPooledDataSource ds = new ComboPooledDataSource("mysql_test");
public static void main(String[] args){
try {
Connection con = ds.getConnection();
if(!con.isClosed()){
System.out.println("数据库连接池连接成功!");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

最后更新: 2020年07月27日 03:53

原始链接: https://www.lousenjay.top/2018/01/25/数据库连接池/