首页 > 数据库 >数据库连接池Druid的工具类

数据库连接池Druid的工具类

时间:2022-11-07 10:25:50浏览次数:36  
标签:java druid 数据库 Druid public static import properties 连接池

定义Druid的工具类

使用步骤:
1. 导入druid的jar包;

<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>druid</artifactId>
     <version>1.1.16</version>
</dependency>

2. 编写druid的配置文件properties;

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/dbName?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8
username=root
password=1234
# 初始化连接数量
initialSize=5
# 最大连接数量
maxActive=50
# 获取连接的最大等待时间(毫秒)
maxWait=5000

3. 导入配置文件,获取数据库连接池对象.

import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class DruidUtils {

    private static DataSource ds;

    static {
        try {
            Properties prop = new Properties();
            //加载properties配置文件
         prop.load(DruidUtils.class.getClassLoader().getResourceAsStream("druid.properties"));

            //获取数据库连接池对象
            ds = DruidDataSourceFactory.createDataSource(prop);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static Connection getConn() throws SQLException {
        return ds.getConnection();
    }

    //归返数据库连接到数据库连接池
    public static void close(Connection conn, Statement stat, ResultSet rs) {
        try {
            if (rs != null) {
                rs.close();
            }
            if (stat != null) {
                stat.close();
            }
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    //连接测试
    public static void main(String[] args) throws SQLException {
        System.out.println(DBUtil.getConn());
    }
}

Druid的正常实现(不使用工具类)

public class DruidDemo {
    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();
        InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
        properties.load(is);
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
        Connection conn = dataSource.getConnection();
        System.out.println(conn);
    }
}

标签:java,druid,数据库,Druid,public,static,import,properties,连接池
From: https://www.cnblogs.com/lichuanjiang/p/16865020.html

相关文章

  • 第三十九章 构建数据库应用程序 - 将数据绑定到表单
    第三十九章构建数据库应用程序-将数据绑定到表单CSP提供了一种将对象数据绑定到HTML表单的机制。这种绑定使用标准的HTML表单和输入控件标签来定义表单,使可以轻松地使......
  • uniapp云数据库笔记
    1.使用客户端API直接操作数据库获取数据和对应的集合(表)//获取数据库constdb=uniCloud.database()//获取表constcollection=db.collection('contacts')调用......
  • MySQL数据库如何改名
    前戏有时候生产环境是以项目来命名,有时候会出现更名情况,其实如何安全的更改数据库名,是个非常棘手的问题,特别是针对MySQL来数据库来说被取消的命令MySQL之前提供了一个re......
  • 数据库设计心得——高校招生录取系统
    数据库设计心得——高校招生录取系统前言在软件工程导论项目课程中,我们负责的项目是高校招生录取系统并对其展开了数据库设计。我们通过PowerDesigner完成了本项目的数据......
  • 达梦数据库主从配置
    数据库名    实例名PORT_NUMMAL_INST_DW_PORTMAL_HOSTMAL_PORTMAL_DW_PORT备注DMSERVER01DMSERVER01523745101192.168.0.128 5510165101主库DMSERVER02DMSERVER025237......
  • 数据库知识
    1.listagg**想象一个场景,现实生活中一个人有许多手机号已是常态,数据库中也会有类似的结构。大家肯定想知道listagg()有什么样的效果:案列分析一个表中有许多数据,名字叫......
  • pg数据库百分比处理二
    感谢原文链接:https://blog.csdn.net/magi1201/article/details/115719675PostgreSQL数据库中,两个integer类型数据,如何处理为百分比形式有表student,其中id字段为charac......
  • pg数据库百分比处理
    参考声明:https://blog.csdn.net/magi1201/article/details/115719675PostgreSQL数据库中,两个integer类型数据,如何处理为百分比形式有表student,其中id字段为characte......
  • 【WPF】ConfigurationManager连接sqlite数据库
     提供对客户端应用程序配置文件的访问。此类不能被继承。1、引用ConfigurationManager在Nuget引入ConfigurationManager。usingSystem.Configuration;  2、添......
  • SQLServer数据库优化
    当遇到如下250的SQL时,又没办法改SQL,只能优化数据库的情况下。索引pid,no,equipmentCode,和索引pid,有着巨大的差异。在索引中包含orderby的列,将极大提升速度。ROW_NUMB......