由于频繁连接和断开数据库,浪费系统资源,降低系统性能。因此实际开发中,从放置一定数量连接的数据库连接池中获取数据库连接。
常见开源数据库连接池有c3p0和dbcp两种。
c3p0是某个国外大牛开发的数据库连接池工具。dbcp由Apache基金组织开发。
Hibernate和Spring框架使用c3p0,Tomcat服务器中使用dbcp。就稳定性和并发而言,c3p0优于dbcp。
所以下面谈c3p0基于MySQL数据库的使用。正式使用前先导入c3p0的2个jar包。并在MySQL数据库中创建mis数据库。
项目src目录下创建c3p0-config.xml,注意命名必须符合规范,不要问我为什么这样命名,它的开发者是这样要求的。内容如下:
<c3p0-config>
<default-config>
<!-- 数据库连接统一资源定位,通俗讲就是数据库完整路径 -->
jdbc:mysql://localhost:3306/mis
<!-- 数据库驱动字符串-->
com.mysql.jdbc.Driver
<!-- 数据库用户名-->
root
<!-- 数据库密码-->
root
<!-- 初始数据库连接数-->
6
<!-- 数据库最大连接数-->
20
<!-- 数据库连接最大空闲时间,以秒计算-->
60
测试类:
import java.sql.Connection;
import com.mchange.v2.c3p0.
ComboPooledDataSource;
public class TestConnect{
public static void main (String[] args)
throws Exception{
ComboPooledDataSource pool = new ComboPooledDataSource();
Connection conn = pool.getConnection();
System.out.println(conn);
}
}
运行该测试类,打印连接字符串表示数据库连接池连接成功。