alibaba druid数据库连接池在spring项目中的常用配置项yml和properties

alibaba druid数据库连接池在spring项目中的常用配置项yml和properties

pom.xml中的关键依赖项

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
</dependency>

application.yml

spring:
  datasource:
    #url: jdbc:jtds:sqlserver://localhost:1433;DatabaseName=db
    #url: jdbc:sqlserver://localhost:1433;DatabaseName=db
    url: jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
    username: username
    password: ******
    #driver-class-name: net.sourceforge.jtds.jdbc.Driver
    #driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    driver-class-name: com.mysql.cj.jdbc.Driver
    ###################以下为druid增加的配置###########################
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      db-type: mysql
      # 下面为连接池的补充设置,应用到上面所有数据源中
      # 初始化大小,最小,最大
      initial-size: 5
      # 最小连接池数量
      min-idle: 5
      # 最大连接池数量
      max-active: 50
      # 配置获取连接等待超时的时间
      max-wait: 60000
      #申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
      test-while-idle: true
      #既作为检测的间隔时间又作为testWhileIdel执行的依据
      time-between-eviction-runs-millis: 60000
      #销毁线程时检测当前连接的最后活动时间和当前时间差大于该值时,关闭当前连接
      min-evictable-idle-time-millis: 30000
      #用来检测连接是否有效的sql 必须是一个查询语句
      #mssql中为 select 1
      #mysql中为 select 'x'
      #oracle中为 select 1 from dual
      validation-query: select 'x'
      #申请连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
      test-on-borrow: false
      #归还连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
      test-on-return: false
      #当数据库抛出不可恢复的异常时,抛弃该连接
      #exception-sorter: true
      #是否缓存preparedStatement,mysql5.5+建议开启
      pool-prepared-statements: true
      #当值大于0时poolPreparedStatements会自动修改为true
      max-pool-prepared-statement-per-connection-size: 20
      #配置扩展插件
      #配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
      filters: stat,wall,slf4j
      #通过connectProperties属性来打开mergeSql功能;慢SQL记录
      connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      #合并多个DruidDataSource的监控数据
      use-global-data-source-stat: true
      #设置访问druid监控页的账号和密码,默认没有。(通过http://host:port/druid/index.html进入druid监控界面)
      stat-view-servlet:
        login-username: admin
        login-password: admin
        enabled: true
      #开启web filter
      web-stat-filter:
        enabled: true
###############以上为配置druid添加的配置#######################################

application.properties

spring.datasource.url = jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username = username
spring.datasource.password = ******
spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
########################## druid配置 begin#################################
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
## 在各自的项目中单独调整min-idle、max-active、max-wait的值
# 初始化大小,最小,最大
spring.datasource.druid.initial-size = 5
# 最小连接池数量
spring.datasource.druid.min-idle = 5
# 最大连接池数量
spring.datasource.druid.max-active = 50
# 配置获取连接等待超时的时间
spring.datasource.druid.max-wait = 60000
# 申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
spring.datasource.druid.test-while-idle = true
# 既作为检测的间隔时间又作为testWhileIdel执行的依据
spring.datasource.druid.time-between-eviction-runs-millis = 60000
#销毁线程时检测当前连接的最后活动时间和当前时间差大于该值时,关闭当前连接
spring.datasource.druid.min-evictable-idle-time-millis = 30000
#用来检测连接是否有效的sql 必须是一个查询语句
#mssql中为 select 1
#mysql中为 select 'x'
#oracle中为 select 1 from dual
spring.datasource.druid.validation-query = select 'x'
#申请连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
spring.datasource.druid.test-on-borrow = false
#归还连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
spring.datasource.druid.test-on-return = false
#当数据库抛出不可恢复的异常时,抛弃该连接,会根据连接池连接数据库的类型自动匹配不同类型的ExceptionSorter,不需要额外配置。
#spring.datasource.druid.exception-sorter = true
#是否缓存preparedStatement,mysql5.5+建议开启
spring.datasource.druid.pool-prepared-statements = true
#当值大于0时poolPreparedStatements会自动修改为true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size = 20
#配置扩展插件
#配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.druid.filters = stat,wall,slf4j
#通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.druid.connection-properties = druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
#合并多个DruidDataSource的监控数据
spring.datasource.druid.use-global-data-source-stat = true
#设置访问druid监控页的账号和密码,默认没有。(通过http://host:port/druid/index.html进入druid监控界面)
spring.datasource.druid.stat-view-servlet.login-username = admin
spring.datasource.druid.stat-view-servlet.login-password = admin
spring.datasource.druid.stat-view-servlet.enabled = true
# 开启web filter
spring.datasource.druid.web-stat-filter.enabled = true
########################## druid配置 end #################################
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页