SpringBoot整合Druid连接池并打开监控页

运维 数据库运维
项目整合完MybatisPlus、Mysql之后,接下来就该接入一个数据库连接池了。这项技术能明显提高对数据库操作的性能。

项目整合完MybatisPlus、Mysql之后,接下来就该接入一个数据库连接池了。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

框架选择上我选择了Druid(德鲁伊)连接池,性能不错,功能全面。

首先在pom中引入

<!-- 数据库连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.8</version>
</dependency>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

然后添加配置

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    druid:
      url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
      username: demo
      password: 123456
      # 初始连接数
      initialSize: 5
      # 最小连接池数量
      minIdle: 10
      # 最大连接池数量
      maxActive: 20
      # 配置获取连接等待超时的时间
      maxWait: 60000
      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      timeBetweenEvictionRunsMillis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
      minEvictableIdleTimeMillis: 300000
      # 配置一个连接在池中最大生存的时间,单位是毫秒
      maxEvictableIdleTimeMillis: 900000
      # 配置检测连接是否有效
      validationQuery: SELECT 1 FROM DUAL
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      webStatFilter:
        enabled: true
      statViewServlet:
        enabled: true
        # 设置白名单,不填则允许所有访问
        allow:
        url-pattern: /druid/*
        # 控制台管理用户名和密码
        login-username: druid
        login-password: druid
      filter:
        stat:
          enabled: true
          # 慢SQL记录
          log-slow-sql: true
          slow-sql-millis: 1000
          merge-sql: true
        wall:
          config:
            multi-statement-allow: true
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.

在接口中写一个查询

List<User> userList = userMapper.selectList(null);

userList.forEach(System.out::println);
  • 1.
  • 2.
  • 3.

启动项目后打开

http://localhost:9999/druid/login.html,登录的账号密码使用配置文件中指定的账号密码

登录

执行几次数据库请求,查看SQL监控

SQL监控

一切表现正常,集成完成。

责任编辑:姜华 来源: 今日头条
相关推荐

2020-02-03 15:15:27

Druid连接池性能超出竞品

2023-09-01 07:31:24

2025-01-16 10:30:49

2019-12-30 15:30:13

连接池请求PHP

2025-01-10 00:00:10

2011-09-08 10:30:42

Druid数据库连接池

2025-02-07 12:11:52

2022-02-17 13:32:04

SpringBootSQL连接池

2011-06-01 13:54:10

MySQL

2023-09-07 11:09:59

连接池本地端口号

2022-05-13 07:31:58

数据库连接池druid

2018-02-07 16:23:58

连接池内存池AI

2009-09-22 14:52:55

Hibernate p

2009-09-22 16:04:50

Hibernate连接

2019-09-25 11:48:08

MySQL数据库Java

2009-06-17 16:22:45

Hibernate连接

2022-11-11 09:41:04

连接池微服务数据库

2009-01-15 09:02:27

JMXJBossJMX监控

2024-01-10 08:17:50

HikariCP数据库Spring

2009-07-21 11:05:49

关闭ADO.NET连接
点赞
收藏

51CTO技术栈公众号