SpringBoot集成Druid的實例代碼
更新時間:2021年12月17日 15:07:28 作者:胖達利亞
這篇文章主要介紹了SpringBoot集成Druid的實例代碼,有依賴和配置相關(guān)內(nèi)容,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
快速開始
依賴
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.17</version>
</dependency>
如果需要配置日志:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
配置
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
#屬性類型是字符串,通過別名的方式配置擴展插件,常用的插件有:
#監(jiān)控統(tǒng)計用的filter:stat
#日志用的filter:log4j
#防御sql注入的filter:wall
filters: stat,wall,log4j
#初始化時建立物理連接的個數(shù)。初始化發(fā)生在顯示調(diào)用init方法,或者第一次getConnection時
initialSize: 10
#最小連接池數(shù)量
minIdle: 10
#最大連接池數(shù)量
maxActive: 100
#獲取連接時最大等待時間,單位毫秒。配置了maxWait之后,缺省啟用公平鎖,并發(fā)效率會有所下降,如果需要可以通過配置useUnfairLock屬性為true使用非公平鎖。
maxWait: 60000
#有兩個含義:
#1) Destroy線程會檢測連接的間隔時間,如果連接空閑時間大于等于minEvictableIdleTimeMillis則關(guān)閉物理連接。
#2) testWhileIdle的判斷依據(jù),詳細看testWhileIdle屬性的說明
timeBetweenEvictionRunsMillis: 60000
#連接保持空閑而不被驅(qū)逐的最小時間
minEvictableIdleTimeMillis: 300000
#用來檢測連接是否有效的sql,要求是一個查詢語句,常用select 'x'。
#如果validationQuery為null,testOnBorrow、testOnReturn、testWhileIdle都不會起作用。
validationQuery: SELECT 'X'
#建議配置為true,不影響性能,并且保證安全性。
#申請連接的時候檢測,如果空閑時間大于timeBetweenEvictionRunsMillis,執(zhí)行validationQuery檢測連接是否有效。
testWhileIdle: true
#申請連接時執(zhí)行validationQuery檢測連接是否有效,做了這個配置會降低性能。
testOnBorrow: false
#歸還連接時執(zhí)行validationQuery檢測連接是否有效,做了這個配置會降低性能。
testOnReturn: false
#是否緩存preparedStatement,也就是PSCache。PSCache對支持游標的數(shù)據(jù)庫性能提升巨大,比如說oracle。在mysql下建議關(guān)閉。
poolPreparedStatements: false
#要啟用PSCache,必須配置大于0,當大于0時,poolPreparedStatements自動觸發(fā)修改為true。在Druid中,不會存在Oracle下PSCache占用內(nèi)存過多的問題,可以把這個數(shù)值配置大一些,比如說100
maxPoolPreparedStatementPerConnectionSize: -1
到此這篇關(guān)于SpringBoot集成Druid的文章就介紹到這了,更多相關(guān)SpringBoot集成Druid內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot工程下Lombok的應(yīng)用教程詳解
這篇文章主要給大家介紹了關(guān)于SpringBoot工程下Lombok應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11
Springboot結(jié)合@validated優(yōu)化代碼驗證
這篇文章主要介紹了Springboot與@validated注解結(jié)合從而實現(xiàn)讓你的代碼驗證更清爽,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08
Spring中@Configuration和@Component注解的區(qū)別及原理
這篇文章主要介紹了Spring中@Configuration和@Component注解的區(qū)別及原理,從功能上來講,這些注解所負責的功能的確不相同,但是從本質(zhì)上來講,Spring內(nèi)部都將其作為配置注解進行處理,需要的朋友可以參考下2023-11-11
IntelliJ IDEA之配置JDK的4種方式(小結(jié))
這篇文章主要介紹了IntelliJ IDEA之配置JDK的4種方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10
獲取Java加載器和類完整結(jié)構(gòu)的方法分享
這篇文章主要為大家詳細介紹了獲取Java加載器和類完整結(jié)構(gòu)的方法,文中的示例代碼講解詳細,對我們學習Java有一定的幫助,需要的可以參考一下2022-12-12

