C3p0数据源+Dbutils工具类的使用
一,c3p0数据源
当用户访问数据库的时候,每访问一次就会创建一个connection对象,当用户访问量过大的时候,就需要创建大量的connection对象,这样就会造成数据库的内存溢出的情况,所有人们就用c3p0数据源来专门创建来创建连接池,把connection对象放入连接池里面,用户只管用连接池里面的connection对象来访问数据库,当connection对象不足的时候就要进行等待,若等待时间超过规定的时间就会把报连接超时。不用管创建的问题和反向关闭的问题。
1.数据源的概念
就是获得Connection的一个对象,用户可以通过数据源获得Connection,由数据源自己到连接池去获取一个 Connection对象。
2.c3p0数据源使用方法(需要导入jar包========》c3p0-0.9.1.2.jar)
第一步: 获得c3p0数据源
编写配置文件c3p0-confifififig.xml,名字是固定的。必须放在src的下面。
相关的配置参数见官网:https://www.mchange.com/projects/c3p0/#minPoolSize
```xml
<?xml version="1.0" encoding="UTF-8" ?> root 1234 jdbc:mysql://localhost:3306/k9506? useUnicode=true&characterEncoding=UTF-8 com.mysql.jdbc.Driver
1
5
1000
5 ```
第二步 通过java代码从数据源中获得Connection
通过java代码从数据源中获得connection对象
package day13.dbutils;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
/**
* Created by Administrator on 2019/7/9.
*/
public class c3p0Dbutil {
public static DataSource ds=new ComboPooledDataSource();
//获得数据源
public static DataSource getDataSource(){
return ds;
}
//获得Connection对象
public static Connection getconnection(){
try {
return ds.getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}