1 配置实例

############################### DRUID数据源配置 start ################################
spring:
  datasource:
    # 数据库类型
    type: com.alibaba.druid.pool.DruidDataSource
  	# 数据库驱动名称
    driver-class-name: org.postgresql.Driver
    # 数据库链接
    url: jdbc:postgresql://10.122.122.122:5432/nbi_dev?currentSchema=public
    # 数据库用户名
    username: postgres
    # 数据库密码
    password: 666
    # 连接池配置,采用 ali druid 连接池,Java中常用的数据库连接池有:DBCP 、C3P0、BoneCP、Proxool、DDConnectionBroker、DBPool、XAPool、Primrose、SmartPool、MiniConnectionPoolManager及Druid等。
    druid:
      # 属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:
      # 监控统计用的filter:stat ,
      # 日志用的filter:log4j,
      # 防御sql注入的filter:wall
      filter:
      	# 日志用的filter:log4j 或者 slf4j
        slf4j:
          enabled: true
        # 监控统计用的filter
        stat:
          # 显示日志 查询慢的sql
          log-slow-sql: true
          merge-sql: true
          # 满sql 界定时间 3s
          slow-sql-millis: 3000
          enabled: true
        # 防御sql注入的filter
        wall:
          # 开启 wall 过滤
          enabled: true
          # 数据库类型 postgre sql
          db-type: postgresql
          # wall 配置,限制数据库的操作类型
          config:
          	# 允许删除操作
            delete-allow: true
            # 允许 删除表
            drop-table-allow: true
            # 允许 清空表中数据
            truncate-allow: true
            # 允许 修改表结构
            alter-table-allow: true
            # 允许 创建表
            create-table-allow: true
            # 允许 添加表注释
            comment-allow: true
      # 开启过滤器
      filters: stat,wall,slf4j
      # 连接池 初始连接数量
      initial-size: 10
      # 连接池 最大连接数量
      max-active: 200
      # 获取连接时最大等待时间,60秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
      max-wait: 60000
      # Destory线程中如果检测到当前连接闲置时间大于 5分钟,则关闭当前连接。
      min-evictable-idle-time-millis: 300000
      # 最小连接数量
      min-idle: 10
      # 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql5.5以下的版本中没有PSCache功能,建议关闭掉。5.5及以上版本有PSCache,建议开启。
      pool-prepared-statements: true
      # 每个连接缓存 preparedStatement 的最大数量
      max-pool-prepared-statement-per-connection-size: 20
      # 监控的配置与监控访问
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        login-username: druid
        login-password: 666
        allow: ''
      # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
      test-on-borrow: false
      # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
      test-on-return: false
      # 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
      test-while-idle: true
      # Destroy线程会检测连接的间隔时间 60s
      time-between-eviction-runs-millis: 60000
      # 用来检测连接是否有效的sql,要求是一个查询语句。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会有作用。
      validation-query: SELECT 1
      # 用来检测连接是否有效的sql 查询超时时间
      validation-query-timeout: 60000
############################### DRUID数据源配置 end ################################

详细信息参考:
https://github.com/alibaba/druid

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐