SpringBoot2.0学习之集成druid连接池

SpringBoot2.0学习之集成druid数据库连接池

为什么使用druid?

阿里的druid连接池可以提供强大的监控和扩展功能。

1. 在pom.xml文件中引入依赖

		
        
            com.alibaba
            druid-spring-boot-starter
            1.1.10
        

2. application.yml 中添加相关配置

### mybatis配置
spring:
  datasource:
    ### 数据库连接配置
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/marklife?useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: root123
    ### 连接池配置
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      # 初始化连接数
      initial-size: 5
      # 最小空闲连接数
      min-idle: 5
      # 最大活跃连接数
      max-active: 20
      # 最大连接等待超时时间,单位是毫秒(ms)
      max-wait: 30000
      # 多久检测需要关闭的空闲连接,单位是毫秒
      time-between-eviction-runs-millis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
      min-evictable-idle-time-millis: 300000
      # 验证数据库连接的查询语句,这个查询语句必须是至少返回一条数据的SELECT语句
      validation-query: select 1
      # 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
      test-while-idle: true
      # 申请连接时执行validationQuery检测连接是否有效,会降低性能
      test-on-borrow: false
      # 归还连接时执行validationQuery检测连接是否有效,会降低性能
      test-on-return: false
      # 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
      pool-prepared-statements: false
      max-pool-prepared-statement-per-connection-size: 20
      # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
      filter: stat,wall,slf4j
      # 合并多个DruidDataSource的监控数据
      use-global-data-source-stat: true
      # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
      connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      ### 监控配置
      # 配置DruidStatFilter
      web-stat-filter:
        enabled: true
        url-pattern: "/*"
        exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
      # 配置DruidStatViewServlet
      stat-view-servlet:
        url-pattern: "/druid/*"
        # IP白名单(没有配置或者为空,则允许所有访问)
        allow: 127.0.0.1
        # IP黑名单 (白名单与黑名单同时存在时,黑名单优先)
        deny: ""
        # 是否开启监控页面页面上的重置功能
        reset-enable: false
        # 用户名
        login-username: admin
        # 密码
        login-password: admin123

3. 运行项目,测试监控功能

浏览器访问 http://localhost:8080/druid 输入用户名和密码

首页如下:

SpringBoot2.0学习之集成druid连接池_第1张图片

Druid官方文档:

https://github.com/alibaba/druid/wiki/常见问题

更多参数官方说明文档:

https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter


别人待我如何,是我的因果,

我待别人如何,是我的修行。

你可能感兴趣的:(springboot2.0学习)