首页 > 数据库 >数据库连接池_druid工具类和数据库连接池_druid工具类测试

数据库连接池_druid工具类和数据库连接池_druid工具类测试

时间:2022-10-23 11:47:26浏览次数:51  
标签:数据库 druid 连接池 SQLException es close null conn

数据库连接池_druid工具类:

1.定义工具类

定义一个类JDBCUtils

提供静态代码块加载配置文件,初始化连接池对象

提供方法

1.获取连接方法:通过数据库连接池获取连接

2.释放资源

3.获取连接池的方法

代码实现:

/**
 * Druid连接池的工具类
 */
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) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

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

    public static void close(ResultSet rs, Statement stmt, Connection conn) {
        // 归还连接
        if (rs != null) {
        try {
            rs.close();
        } catch (SQLException es) {
            es.printStackTrace();
            }
        }
        // 归还连接
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException es) {
                es.printStackTrace();
            }
        }
        // 归还连接
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException es) {
                es.printStackTrace();
            }
        }
    }

    public static void close(Statement stmt, Connection conn) {
        // 归还连接
//        if (stmt != null) {
//            try {
//                stmt.close();
//            } catch (SQLException es) {
//                es.printStackTrace();
//            }
//        }
//        // 归还连接
//        if (conn !=null) {
//            try {
//                conn.close();
//            } catch (SQLException es) {
//                es.printStackTrace();
//            }
//        }
        close(null,stmt,conn);
    }

    /**
     * 获取数据库连接
     * @return
     */
    public static DataSource getDataSource() {
        return ds;
    }
}

 

 

 

 

 

数据库连接池_druid工具类测试:

代码实现:

public class DruidDemo2 {

    public static void main(String[] args) {
        /*
         *  完成添加操作:给account表添加一条记录
         */
        Connection conn = null;
        PreparedStatement pst = null;
        try {
            // 1.获取连接
             conn = JDBCUtils.getConnection();
            // 2.定义sql
            String sql = "insert into account values(null,?,?)";
            // 3.获取pst对象
            pst = conn.prepareStatement(sql);
            // 4.给?赋值
            pst.setString(1,"王五");
            pst.setDouble(2,3000);
            // 5.执行sql
            int count = pst.executeUpdate();
            System.out.println(count);
        } catch (SQLException es) {
            es.printStackTrace();
        } finally {
            // 6.释放资源
            JDBCUtils.close(pst,conn);
        }
    }
}

 

标签:数据库,druid,连接池,SQLException,es,close,null,conn
From: https://www.cnblogs.com/hungui/p/16818214.html

相关文章

  • 数据库(七)多表查询
    前言本文为在霍格沃兹测试开发学社的学习经历分享,希望有志同道合的小伙伴可以一起交流技术,一起进步~多表查询概念多表就是在数据库设计中使用多张表格来实现数据存储......
  • 数据库(四)DQL
    DQL查询语言单表查询语法:select*from表名;字段查询select列名from表名;起别名去掉重复信息selectdistinct列名from表名;注意:distinct要放......
  • 数据库(五)聚合函数
    聚合函数概念用来做纵向运算的,可以针对某列的值进行运算,返回一个单一的值,可以计算平均工资等常见聚合函数:COUNT():统计指定列不为NULL的记录行数MAX():计算指定列......
  • 数据库(六)约束
    sql约束概念对表中的数据进行进一步的限制保证数据的正确性、有效性、完整性违反约束的不正确数据无法插入到表中常见约束主键:PRIMARYKEY非空:NOTNULL......
  • 数据库(三)DML
    DML操作语言插入语法格式:示例:--选择数据库为当前数据库USEhogwarts_stu;--创建表CREATETABLEuser(idint,namevarchar(20),ageint,sexchar(1......
  • 数据库(一)
    数据库基本概念是一个以某种有组织的方式存储的数据集合是存储和管理数据的仓库本质是一个文件系统DBMS(数据库管理系统)数据库分类关系型数据库(RDB)有关系......
  • Django-静态文件配置,链接数据库,request对象方法
    目录-静态文件配置--含义--配置方法--动态解析---含义---实现---示例-pycharm链接MySQL-Django链接MySQL--代码配置--代码声明-request对象常用方法--示例......
  • SpringBoot 创建项目连接mysql数据库
    Spring 创建项目1.创建一个springboot项目2.点击File---- New---- project项目名称可以随便填写...3. Springboot版本尽量不要最新版,怕你们驾驭不了......
  • MySQL - 数据库配置参数、性能优化教程
     将 MySQL 部署到普通的 X86 服务器上,在不经过任何优化情况下,MySQL 理论值正常可以处理 2000 左右 QPS。不过当访问量达到 1500 左右并发连接时,数据库处理性能......
  • 一款开源的数据库在线预览、导出工具
    database-export是一款多线程生成数据库结构文档的开源springboot工程,能支持最新的数据库版本,可以导出docx格式和xlsx的文档,也能直接在网页上预览项目使用技术JDK1.8VUE2.0E......