JDBC连接池和DBUtils

创建C3P0连接池的工具类
* 连接的规范接口:
* javax.sql.DataSource接口
* 接口的实现类对象
* ComboPooledDataSource
* 成员位置创建ComboPooledDataSource对象
* 使用静态代码块给ComboPooledDataSource设置4大数据量连接信息
* 创建一个静态方法返回Connection对象
* 创建一个静态方法释放资源

public class C3P0Utils {
    //成员位置创建ComboPooledDataSource对象
    private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
   
    //使用静态代码块给ComboPooledDataSource设置4大数据量连接信息
    static{
        try {
            dataSource.setDriverClass("com.mysql.jdbc.Driver");
            dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mybase4");
            dataSource.setUser("root");
            dataSource.setPassword("root");
        } catch (Exception e) {
            throw new RuntimeException("设置连接信息失败!");
        }
    }
   
    //创建一个静态方法返回Connection对象
    public static Connection getConnection(){
        try {
            return dataSource.getConnection();
        } catch (SQLException e) {
            throw new RuntimeException("获取数据库连接信息失败!");
        }
    }
   
    //定义一个释放资源的方法
        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();
                }
            }
        }
}

创建读取XML配置文件的C3P0工具类

public class C3P0UtilsReadXML {
    //成员位置创建ComboPooledDataSource对象
    private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
   
    //使用静态代码块给ComboPooledDataSource设置4大数据量连接信息
    /*static{
        try {
            dataSource.setDriverClass("com.mysql.jdbc.Driver");
            dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mybase4");
            dataSource.setUser("root");
            dataSource.setPassword("root");
        } catch (Exception e) {
            throw new RuntimeException("设置连接信息失败!");
        }
    }*/
   
    //创建一个返回ComboPooledDataSource的方法
    public static DataSource getDataSource(){
        return dataSource;
    }
   
    //创建一个静态方法返回Connection对象
    public static Connection getConnection(){
        try {
            return dataSource.getConnection();
        } catch (SQLException e) {
            throw new RuntimeException("获取数据库连接信息失败!");
        }
    }
   
    //定义一个释放资源的方法
        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();
                }
            }
        }
}

DBCP连接池

创建DBCP连接池的工具类
* 连接的规范接口:
* javax.sql.DataSource接口
* 接口的实现类对象
* BasicDataSource
* 重写getConnection方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/01bdd1d8f1daf69cafde75184d971a2c.html