Druid数据库连接池框架

1.Druid概述

Druid 是一个开源的数据库连接池框架,用于管理和优化数据库连接的使用。它提供了高效的、可扩展的连接池管理,可以用于 Java 应用程序连接到关系型数据库。

之前有了解过 C3P0 数据库连接池,所谓数据库连接池就是重复利用连接数据库的连接对象,加快访问数据库的时间。

2.Druid使用

2.1 导入依赖

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid-spring-boot-starter</artifactId>

<version>1.1.22</version>

</dependency>

2.2 配置Druid

XML 复制代码
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    dynamic:
      strict: true
      primary: vice
      datasource:
        main:
          url: 
          username: 
          password: 
        vice:
          url: 
          username:
          password: 
      druid:
        # 初始化大小,最小,最大
        initial-size: 5
        min-idle: 5
        max-active: 20
        # 配置获取连接等待超时的时间
        max-wait: 60000
        # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
        time-between-eviction-runs-millis: 6000
        # 配置一个连接在池中最小生存的时间,单位是毫秒
        min-evictable-idle-time-millis: 300000
        validation-query: SELECT 1 FROM DUAL
        test-while-idle: true
        test-on-return: true
        # 打开PSCache,并且指定每个连接上PSCache的大小
        pool-prepared-statements: true
        max-pool-prepared-statement-per-connection-size: 20
        # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,wall用于防火墙
        filters: stat,wall,slf4j
        # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
        connection-properties: spring.druid.stat.mergeSql=true;spring.druid.stat.slowSqlMillis=5000

2.3 排除原生Druid的快速配置类

java 复制代码
@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class})
@MapperScan("com.luobei.demo.modules.*.*.mapper")
@EnableTransactionManagement
public class DemoAppRun {
    public static void main(String[] args) {
        SpringApplication.run(DemoAppRun.class, args);
    }
}
相关推荐
土星云SaturnCloud3 分钟前
高速服务区AI视觉全场景方案:安全管控+运营提效+服务升级,土星云边缘算力赋能智慧交通
服务器·人工智能·ai·边缘计算
狂热开发者4 分钟前
打印机卖到欧洲以后 App 更新了,旧包装二维码还能用吗
数据库
土星云SaturnCloud7 分钟前
Real-ESRGAN超分辨率算法原理与边缘侧部署实践
服务器·算法·ai·边缘计算·real-esrgan
张3蜂36 分钟前
2026 中国国产数据库 Top 20:市场格局、开源协议与竞品分析
数据库
电商API_1800790524737 分钟前
速卖通商品采集API技术文章
java·开发语言·c++·api·跨境电商·商品详情
烟雨归来38 分钟前
Oracle 19c RAC登录风暴引发library cache lock生产故障分析
数据库·oracle
郑州光合科技余经理40 分钟前
海外版外卖系统架构:订单怎么流转、权限怎么分
java·开发语言·前端·系统架构·uni-app·php·ai编程
longxiaozhang642 分钟前
C#异常处理:程序出错了怎么办?
开发语言·数据库·c#
NineData1 小时前
DTCC 2026 NineData 叶正盛:如何统一管理人与 AI Agent 的数据访问行为
数据库·人工智能·sql·oracle·agent·ninedata·dtcc
一入程序无退路1 小时前
Navicat导出Excel格式表名表结构
数据库·excel