package cn.kgc.c3p0;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class C3p0Utils {
/*
* C3p0的工具类,使用C3p0获得连接对象
* 连接池有一个规范接口 javax.sql.DataSource接口
* 定义了一个从连接池中获得连接的方法
* getConnection
* 步骤
* 1 导入jar包
* 2.在成员变量位置 创建一个ComboPooledDataSource对象
* 3.在静态代码块使用ComboPooledDataSource对象
* 4.定义一个静态方法ComboPooledDataSource对象中获得数据库连接Connection
* 5.释放资源
*
* */
//在成员位置 创建一个静态ComboPooledDataSource对象
private static ComboPooledDataSource dataSource=new ComboPooledDataSource();
//在静态代码块中使用ComboPooledDataSource对象 setxxx方法 设置数据库连接
static {
try {
//设置注册驱动程序
dataSource.setDriverClass("com.mysql.jdbc.Driver");
//url
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day3");//连接自己的数据库,day3属于数据库名
//数据库用户名
dataSource.setUser("root"); //自己的数据库用户名
//数据库密码
dataSource.setPassword("kgc"); //看自己的数据库密码设置
} catch (PropertyVetoException e) {
e.printStackTrace();
}
}
//定义一个静态方法ComboPooledDataSource独享中获得数据库连接Connection
public static Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException("数据库连接失败"+e);
}
}
//s释放资源
public static void close (ResultSet rs, Statement state,Connection conn){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(state!=null){
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
package cn.kgc.c3p0;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class C3p0Utils {
/*
* C3p0的工具类,使用C3p0获得连接对象
* 连接池有一个规范接口 javax.sql.DataSource接口
* 定义了一个从连接池中获得连接的方法
* getConnection
* 步骤
* 1 导入jar包
* 2.在成员变量位置 创建一个ComboPooledDataSource对象
* 3.在静态代码块使用ComboPooledDataSource对象
* 4.定义一个静态方法ComboPooledDataSource对象中获得数据库连接Connection
* 5.释放资源
*
* */
//在成员位置 创建一个静态ComboPooledDataSource对象
private static ComboPooledDataSource dataSource=new ComboPooledDataSource();
//在静态代码块中使用ComboPooledDataSource对象 setxxx方法 设置数据库连接
static {
try {
//设置注册驱动程序
dataSource.setDriverClass("com.mysql.jdbc.Driver");
//url
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day3");
//数据库用户名
dataSource.setUser("root");
//数据库密码
dataSource.setPassword("kgc");
} catch (PropertyVetoException e) {
e.printStackTrace();
}
}
//定义一个静态方法ComboPooledDataSource独享中获得数据库连接Connection
public static Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException("数据库连接失败"+e);
}
}
//s释放资源
public static void close (ResultSet rs, Statement state,Connection conn){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(state!=null){
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}