SpringBoot集成Druid的实例代码

网友投稿 249 2022-09-08


SpringBoot集成Druid的实例代码

快速开始

依赖

com.alibaba

druid-spring-boot-starter

1.1.17

如果需要配置日志:

log4j

log4j

1.2.17

配置

spring:

datasource:

name: druidDataSource

type: com.alibaba.druid.pool.DruidDataSource

druid:

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://localhost:3306/databasename?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8

username: root

password: 12341234

#属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:

#监控统计用的filter:stat

#日志用的filter:log4j

#防御sql注入的filter:wall

filters: stat,wall,log4j

#初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时

initialSize: 10

#最小连接池数量

minIdle: 10

#最大连接池数量

maxActihttp://ve: 100

#获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。

maxWait: 60000

#有两个含义:

#1) Destroy线程会检测连接的间隔时间,如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接。

#2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明

timeBetweenEvictionRunsMillis: 60000

#连接保持空闲而不被驱逐的最小时间

minEvictableIdleTimeMillis: 300000

#用来检测连接是否有效的sql,要求是一个查询语句,常用select 'x'。

#如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。

validationQuery: SELECT 'X'

#建议配置为true,不影响性能,并且保证安全性。

#申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。

testWhileIdle: true

#申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。

testOnBorrow: false

#归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。

testOnReturn: false

#是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。

poolPreparedStatements: false

#要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100

maxPoolPreparedStatementPerConnectionSize: -1


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SASE部署及应用场景探讨(sass环境)
下一篇:无货源开店已确认违法(无货源店铺违规)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~