首页 > 数据库 >数据库连接池druid基本使用和druid工具类

数据库连接池druid基本使用和druid工具类

时间:2022-10-19 10:16:05浏览次数:53  
标签:RuntimeException 数据库 druid 连接池 close new throw conn

5. Druid:数据库连接池实现技术,由阿里巴巴提供的
  1. 步骤:
    1. 导入jar包 druid-1.0.9.jar
    2. 定义配置文件:
      * 是properties形式的
      * 可以叫任意名称,可以放在任意目录下
    3. 加载配置文件。Properties
    4. 获取数据库连接池对象:通过工厂来来获取 DruidDataSourceFactory
    5. 获取连接:getConnection
  * 代码:
    //3.加载配置文件
    Properties pro = new Properties();
    InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
    pro.load(is);
    //4.获取连接池对象
    DataSource ds = DruidDataSourceFactory.createDataSource(pro);
    //5.获取连接
    Connection conn = ds.getConnection();

   

2. 定义工具类
  1. 定义一个类 JDBCUtils
  2. 提供静态代码块加载配置文件,初始化连接池对象
  3. 提供方法
    1. 获取连接方法:通过数据库连接池获取连接
    2. 释放资源
    3. 获取连接池的方法

public class JDBCUtils {
    // 1.定义成员变量DataSource
    private static DataSource ds;

    static {
        try {
            // 1.加载配置文件
            Properties pro = new Properties();
            pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
            // 2.获取DataSource
            ds = DruidDataSourceFactory.createDataSource(pro);
        } catch (IOException e) {
            throw new RuntimeException(e);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 获取连接
     */
    public static Connection getConnection() throws SQLException {
        return ds.getConnection();
    }

    /**
     * 释放资源
     */
    public static void close(Statement stmt, Connection conn){

        if (stmt != null){
            try {
                stmt.close();
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }

        if (conn != null){
            try {
                conn.close();//归还连接
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
    }

    public static void close(ResultSet rs, Statement stmt, Connection conn){
        if (rs != null){
            try {
                rs.close();
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }

        if (stmt != null){
            try {
                stmt.close();
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }

        if (conn != null){
            try {
                conn.close();//归还连接
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
    }

    /**
     * 获取连接池方法
     */
    public static DataSource getDataSource(){
        return ds;
    }

}

 

标签:RuntimeException,数据库,druid,连接池,close,new,throw,conn
From: https://www.cnblogs.com/xuche/p/16803319.html

相关文章

  • 564 数据库连接池_druid_工具类测试 and 565 JDBCTemplate_介绍
    数据库连接池_druid_工具类测试/***Druid连接池工具类测试类*使用新的工具类*/publicclassJDBC_utils_Test{publicstaticvoidmain(String[]args){......
  • MySQL 视图创建(跨数据库)
    格式CREATEVIEW视图所在库库名.视图名AS(SELECT表所在库库名.表名.列名AS新列名...FROM表所在库库名.表名);注意:数据库必须是在同一台服务器上,两个数据......
  • 562数据库连接池_druid_基本使用 and563 数据库连接池_druid_工具类
    数据库连接池_druid_基本使用Druid:数据库连接池实现技术,由阿里巴巴捉供的步骤︰1.导入jar包druid-1.0.9.jar2.定义配访i文件:足properties形式的......
  • RuoYi-Vue切换达梦数据库(一)
    一、达梦数据库安装这里使用的达梦8开发版 ,安装过程没什么且包内有说明文档。要注意的点是创建数据库实例时,记得取消勾选字符串比较大小写敏感。二、达梦数据库用户设......
  • RuoYi-Vue切换达梦数据库(二)
    一、JDBC依赖代码部分适配 RuoYi-Vuev3.8.4前后端分离版1、修改admin模块下的pom.xml文件Maven仓库中存在,直接替换注意jdbc包的版本:Dm7JdbcDriver18中7是DM数据库的......
  • 数据库oracle
    14控制用户访问知识点:1)如何创建用户、修改密码;2)如何创建角色,把不同的权限分配给角色、用户;3)如何进行授权和回收权限(grant、revoke);14.1创建用户DBA使用createuse......
  • 04.大型数据库应用技术课堂测试05-日志数据分析-错误总结
    错误总结:1.ExpressionnotinGROUPBYkey'id'解决:在groupby子句中,select查询的列,要么需要是groupby中的列,要么得是用聚合函数(比如sum、count等)加工过的列。不......
  • 大型数据库应用技术课堂测试05
    题目:Result文件数据说明:Ip:106.39.41.166,(城市)Date:10/Nov/2016:00:01:02+0800,(日期)Day:10,(天数)Traffic:54,(流量)Type:video,(类型:视频video或文章article)Id:8701(视......
  • pc wx数据库密钥快速定位
    ......
  • 数据库DTS迁移工具
    迁移工具DTS操作方案​第一章从DM8迁移到DM8​1打开迁移DTS工具​1.安装了达梦客户端里面有数据迁移工具,点开,新建迁移工程:​输入工程名称,比如dm8到dm8迁移​工程创建好以后......