spring boot 2.x 配置数据源hikariCP和druid

hikariCP

从spring boot 2.X版本起,默认的数据连接池就改成了 hikariCP。 hikariCP 的性能及其优异,hikariCP号称java平台最快的数据库连接池。性能表现:hikariCP>druid>tomcat-jdbc>dbcp>c3p0。
这里就贴一下配置:application.yaml

spring:
  profiles:
    # 读取配置文件
    active: dev
  application:
    name: orders-service
  datasource:
    hikari:
      pool-name: KevinHikariPool
      #最大连接数,小于等于0会被重置为默认值10;大于零小于1会被重置为minimum-idle的值
      maximum-pool-size: 150
      #最小空闲连接,默认值10,小于0或大于maximum-pool-size,都会重置为maximum-pool-size
      minimum-idle: 20
      #连接超时时间:毫秒,小于250毫秒,否则被重置为默认值30秒
      connection-timeout: 60000
      #空闲连接超时时间,默认值60000010分钟),大于等于max-lifetime且max-lifetime>0,会被重置为0;
      # 不等于0且小于10秒,会被重置为10秒。
      # 只有空闲连接数大于最大连接数且空闲时间超过该值,才会被释放
      idle-timeout: 500000
      #连接最大存活时间.不等于0且小于30秒,会被重置为默认值30分钟.设置应该比mysql设置的超时时间短
      max-lifetime: 540000
      #连接测试查询
      connection-test-query: SELECT 1

application-dev.yaml 配置

spring:
  datasource:
    driverClassName: com.mysql.cj.jdbc.Driver
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/xffq?useUnicode=true&characterEncoding=utf-8

druid

领导不让用 hikariCP,只好按要求换成 druid,参考:
https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
主要配置:

server:
  port: 8931
spring:
  profiles:
    # 读取配置文件
    active: dev
  application:
    name: orders-service
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: 10
      max-active: 100
      min-idle: 10
      max-wait: 10000
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 30000
      validation-query: select 'x'
      # 申请连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
      test-on-borrow: false
      # 归还连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
      test-on-return: false
      #申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
      test-while-idle: true
      pool-prepared-statements: true
      max-open-prepared-statements: 20
      filter:
        stat:
          enabled: true
          log-slow-sql: true
          slow-sql-millis: 10000
          db-type: mysql

你可能感兴趣的:(spring,boot)