• 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();
    }
    }
    }
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    测试类:

    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(http://www.my516.com);
    System.out.println(conn);
    Statement stat = conn.createStatement();
    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);

    }

    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    ---------------------

  • 相关阅读:
    检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败的解决方案--报错80080005
    c# 数组拼接、DataTable拼接
    【C#】数据类型(sbyte,byte,short,ushort,int,uint,long,ulong和char。、、、)
    一个字符占几个字节
    js获取不到scrollTop值的问题
    省市县2020年最新更新
    【警惕流文件转string存数据库操作】记一次数据库异常增长的排查经历
    【VS Code】利用Live Server插件搭建本地服务
    数据库中float类型存储时位数增多问题
    【小工具】阿里云视频上传工具
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11053808.html
Copyright © 2020-2023  润新知