zoukankan      html  css  js  c++  java
  • C3P0连接池工具类实现步骤及方法

    C3P0连接池的工具类 使用C3P0获得连接对象
    连接池有一个规范接口 javax.sal.DataSourse 接口
    定义了一个从连接池中获得连接的方法
    getConnection();

    步骤
    导入jar包
    在成员变量位置创建一个静态的ComboPooledDtatSource 对象
    在静态代码块中使用ComboPooledDtatSource 对象 setxxxx方法 设置数据库连接
    定义一个静态方法 ComboPooledDtatSource 对象中获得数据库连接 Coonection
    释放资源(归还);
    方法类:

    package cn.sourceUntil;

    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;

    /*
    C3P0连接池的工具类 使用C3P0获得连接对象
    连接池有一个规范接口 javax.sal.DataSourse 接口
    定义了一个从连接池中获得连接的方法
    getConnection();
    步骤
    0. 导入jar包
    1. 在成员变量位置创建一个静态的ComboPooledDtatSource 对象
    2. 在静态代码块中使用ComboPooledDtatSource 对象 setxxxx方法 设置数据库连接
    3. 定义一个静态方法 ComboPooledDtatSource 对象中获得数据库连接 Coonection
    4. 释放资源(归还);
    */
    public class C3P0Utils {
    //1. 在成员变量位置创建一个静态的ComboPooledDtatSource 对象
    private static ComboPooledDataSource dataSource=new ComboPooledDataSource();
    //2. 在静态代码块中使用ComboPooledDtatSource 对象 setxxxx方法 设置数据库连接
    static {
    try {
    //设置注册驱动程序
    dataSource.setDriverClass("com.musql.jdbc.Dringver");
    //设置URL
    dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day05");
    //设置数据库用户名
    dataSource.setUser("root");
    //设置数据库密码
    dataSource.setPassword("root");

    } catch (PropertyVetoException e) {
    e.printStackTrace();
    }
    }
    //3. 定义一个静态方法 ComboPooledDtatSource 对象中获得数据库连接 Coonection
    public static Connection getConnection(){

    try {
    return dataSource.getConnection();
    } catch (SQLException e) {
    throw new RuntimeException("数据库连接失败");
    }
    }
    //4. 释放资源(归还);
    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();
    }
    }
    }
    }

    测试类:

    package cn.cn.sourceTest;

    import cn.sourceUntil.C3P0Utils;
    import org.junit.Test;

    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    public class TestC3P0Until {
    @Test
    public void tes01() throws SQLException {
    //使用C3P0工具类 获得getConnection
    Connection conn = C3P0Utils.getConnection();
    System.out.println(conn);
    Statement stat = conn.createStatement(http://www.my516.com);
    ResultSet rs = stat.executeQuery("SELECT * FROM users");
    System.out.println("123456");
    //遍历结果集
    while (rs.next()){
    System.out.println(rs.getInt("cid")+rs.getString("pname")+rs.getString("pasword"));
    }
    //释放资源
    C3P0Utils.close(rs,stat,conn);

    }

    }

  • 相关阅读:
    idea 相关
    dns 相关
    bash 相关
    建造者模式(Builder)
    C#中out 及 ref 区别
    C# 2.0新特性
    Asp.net.Ajax控件学习
    装饰模式(Decorator Pattern)
    职责链模式(Chain of Responsibility Pattern)
    面向对象
  • 原文地址:https://www.cnblogs.com/ly570/p/11069855.html
Copyright © 2011-2022 走看看