使用 c3p0数据库连接池连接MySQL
普通的数据库连接创建的缺点:
用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。
数据库连接池概念
所谓数据库连接池,可以看作 :在用户和数据库之间创建一个”池”,这个池中有若干个连接对象,当用户想要连接数据库,就要先从连接池中获取连接对象,然后操作数据库。
一旦连接池中的连接对象被拿光了,下一个想要操作数据库的用户必须等待,等待其他用户释放连接对象,把它放回连接池中,这时候等待的用户才能获取连接对象,从而操作数据库。
下载C3P0工具包
C3P0工具包包含的版本:
-
c3p0-0.9.5.2
c3p0-config.xml 的配置
**注意: ** xml 配置文件的名称必须是:c3p0-config.xml ,也是放在src 目录下
这里的 jdbcUrl 比较容易出问题,要是出现问题,建议仔细找找。
1 <c3p0-config> 2 3 <!-- This app is massive! --> 4 <!--文件名 连接池会找这个文件进行配置--> 5 <named-config name="helloc3p0"> 6 <!--加载驱动--> 7 <property name="driverClass">com.mysql.jdbc.Driver</property> 8 <!--最后一项为自己的数据库名--> 9 <property name="jdbcUrl">jdbc:mysql://localhost:3306/day01</property> 10 <!--Mysql用户名--> 11 <property name="user">root</property> 12 <!--Mysql密码--> 13 <property name="password">123456</property> 14 15 </named-config> 16 </c3p0-config>
工具类
需要连接数据库的时候直接调用即可
package cn.kgc.conn;
import com.mchange.v2.c3p0.*;
import java.sql.*;
/**
* @author songyuhang
* @create 2020-06-26 8:56
*/
public class TestC3p0 {
public static void main(String[] args) {
/**
* 使用c3p0配置文件的方式
*/
ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource("helloc3p0");
try {
Connection connection=comboPooledDataSource.getConnection();
System.out.println(connection);
} catch (Exception e) {
e.printStackTrace();
}
}
}