连接数据库常用工具类(二)------C3P0Utils工具类

工具类二:

C3P0工具类:

使用步骤:

1导包

先把c3p0-0.9.1.2.jar包导入到工程Src目录下--------》点击File--------->project  structuer-------->libraries--------->如下图

点击File--------->project  structuer,如下图

选择libraries,如下图

点击右边绿色的加号,选择java 如图

选择工程目录下----src目录下-----放有c3p0-0.9.1.2.jar包的lib文件夹,然后点击确定

 

2.封装工具类

具体步骤:

package cn.kgc;
/**
 * C3P0连接池工具类,提供了一个规范的连接接口,javax.sql.DataSource接口
 * C3P0连接池工具类也定义了一个从连接池中获得连接的方法 get Connection ();
 */

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;

/**
 * 使用步骤:
 * 1.先导入jar包
 * 2.在成员变量位置创建一个静态ComboPooledDataSource对象
 * 3.在静态代码块中,使用ComboPooledDataSource的对象的 setxxx()方法设置数据库连接:
 * 其中包括:注册驱动、jdbcUrl、用户名:root、用户密码root(我的是大写的)
 * 4.定义一个静态方法,使用ComboPooledDataSource对象,获得数据库连接Connection
 * 5.定义一个释放资源的方法
 */
public class C3P0Utils {
    //2.创建一个ComboPooledDataSource对象
    public static ComboPooledDataSource dataSource = new ComboPooledDataSource();

    //3.在静态代码块中使用ComboPooledDataSource对象,的setxxx方法来设置数据库连接
    static {
        try {
            //注册驱动
            dataSource.setDriverClass("com.mysql.jdbc.Driver");
            //设置URL
            dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day10");
            //设置用户名
            dataSource.setUser("root");
            //设置密码
            dataSource.setPassword("ROOT");
        } catch (PropertyVetoException e) {
            e.printStackTrace();
        }
    }

    //定义一个静态方法,通过ComboPooledDataSource的对象,来获得数据库连接Connection对象
    public static Connection getConnection() {
        try {
            return dataSource.getConnection();
        } catch (SQLException e) {
            //避免异常时,程序继续运行
            throw new RuntimeException("数据库连接失败" + e);
        }
    }

    //定义一个方法用来释放资源
    public static void close(ResultSet rs, Statement stat, Connection conn) {
    if(rs!=null){
        try {
            rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    if(stat!=null){
        try {
            stat.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    if(conn!=null){
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    }
}

猜你喜欢

转载自www.cnblogs.com/Hubert-dzl/p/11029093.html
今日推荐