首页 > 其他分享 >Druid 德鲁伊连接池

Druid 德鲁伊连接池

时间:2023-04-03 22:11:42浏览次数:28  
标签:java 德鲁伊 Druid connection new import properties 连接池

public  void druidTest() throws Exception {
        //创建一个Properties 对象 读取配置文件
        Properties properties = new Properties();
        properties.load(new FileInputStream("src\\druid.properties"));
        // 创建一个指定参数的数据库连接池, Druid 连接池
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
        //建立连接
        Connection connection = dataSource.getConnection();
        System.out.println("连接成功");
        connection.close();
    }

配置文件

#key=value
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbcstudy?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
username=root
password=root
#initial connection Size
initialSize=10
#min idle connecton size
minIdle=5
#max active connection size
maxActive=20
#max wait time (5000 mil seconds)  最大等待时间(等待队列)
maxWait=5000

Druid工具类

package com.JDBC_Utils;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class JDBCUtilsByDruid {
    /**
     * 基于 druid 数据库连接池的工具类
     */
    private static DataSource ds;

    static {
        try {
            Properties properties = new Properties();
            properties.load(new FileInputStream("src\\druid.properties"));
            ds = DruidDataSourceFactory.createDataSource(properties);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    public static Connection getConnection() {
        try {
            return ds.getConnection();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

    public static void close(ResultSet resultSet, Statement statement, Connection connection) {
        try {
            //关闭连接: 在数据库连接池技术中,close 不是真的断掉连接
            //而是把使用的 Connection 对象放回连接池
            if (resultSet != null) {
                resultSet.close();
            }
            if (statement != null) {
                statement.close();
            }
            if (connection != null) {
                connection.close();
            }
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}


标签:java,德鲁伊,Druid,connection,new,import,properties,连接池
From: https://www.cnblogs.com/weifengfuxiufa/p/17284638.html

相关文章

  • SSM使用Druid数据源出现循环报错
    解决方法在数据库连接配置db.properties文件中的属性前增加前缀xml配置<beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"><propertyname="username"value="${jdbc.username}"/>......
  • HikariCP连接池设置和监控
    调整pool参数SpringBoot项目默认自动使用HikariCP,最近为了进行数据库session控制,特意调小了缺省的poolSize,原本以为会自动生效,经过压测发现还是使用默认的poolSize.原来的代码DataSource对象使用的是SpringDataSourcebuilder创建的,需要修改为HikariDataSour......
  • SpringBoot 使用Druid实现数据库连接池并结合AOP实现多数据源
    SpringBoot是一个快速开发Spring应用程序的框架,而Druid是一个高性能的数据库连接池,可以提高数据库访问的效率。在SpringBoot中使用Druid作为数据库连接池,可以更好地管理和......
  • 若依微服务连接redis 一段时间报错,后来改成连接池后也是报错 Redis command timed out
    springBoot版本是2.x 所以呢redis客户端是lettuce,而不是jedis;lettuce支持异步,而且是线程安全的。jedis是同步的,线程不安全需要每个线程一个Jedis实例,所以一般通......
  • mysql-connector-python驱动和django-mysql-pool连接池
    ##################### 为了设计一个公用的、安全的连接池接口,可以考虑以下几个方面:封装连接池初始化和获取连接的逻辑,使得调用者不需要了解连接池的具体实现细节,只需要调......
  • Druid连接池配置参考
    <beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close"><!--基本属性url、user、password-->......
  • 什么是数据库连接池
    每次数据库连接都要断开重连浪费时间,性能【底层需要tcp连接】  资源复用;提升系统响应速度;避免数据库连接遗漏;【长时间不操作会强制断开】  使用: ......
  • 数据库连接池
    数据库连接池是个容器,负责分配、管理数据库连接。它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。释放空闲时间超过最大空闲时间的数据库连接来避免......
  • 多维分析利器—Druid
    Druid是一个用于大数据实时查询与分析的分布式列式数据存储系统。为了应对海量数据的实时查询和多维分析,Druid应运而生。Druid诞生于MetaMarkets公司,而互联网广告分析正是M......
  • Redis 的Java客户端——Jedis连接池的使用详解
    一.Redis的Java客户端jedis的官方仓库地址:https://github.com/redis/jedisRedis数据结构Redis是一个key-value的数据库,key一般是String类型,不过value的类......