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