DruidDataSource配置屬性列表

2021-10-18 21:34:35 字數 2535 閱讀 4065

druiddatasource配置相容dbcp,但個別配置的語意有所區別。

配置預設值

說明name

配置這個屬性的意義在於,如果存在多個資料來源,監控的時候可以通過名字來區分開來。如果沒有配置,將會生成乙個名字,格式是:"datasource-" + system.identityhashcode(this). 另外配置此屬性至少在1.0.5版本中是不起作用的,強行設定name會出錯。詳情-點此處。

url連線資料庫的url,不同資料庫不一樣。例如:

mysql : jdbc:mysql:

oracle : jdbc:oracle:thin:@10.20.149.85:1521:ocnauto

username

連線資料庫的使用者名稱

password

連線資料庫的密碼。如果你不希望密碼直接寫在配置檔案中,可以使用configfilter。詳細看這裡

driverclassname

根據url自動識別

這一項可配可不配,如果不配置druid會根據url自動識別dbtype,然後選擇相應的driverclassname

initialsize

0初始化時建立物理連線的個數。初始化發生在顯示呼叫init方法,或者第一次getconnection時

maxactive

8最大連線池數量

maxidle

8已經不再使用,配置了也沒效果

minidle

最小連線池數量

maxwait

獲取連線時最大等待時間,單位毫秒。配置了maxwait之後,預設啟用公平鎖,併發效率會有所下降,如果需要可以通過配置useunfairlock屬性為true使用非公平鎖。

poolpreparedstatements

false

是否快取preparedstatement,也就是pscache。pscache對支援游標的資料庫效能提公升巨大,比如說oracle。在mysql下建議關閉。

maxpoolpreparedstatementperconnectionsize

-1要啟用pscache,必須配置大於0,當大於0時,poolpreparedstatements自動觸發修改為true。在druid中,不會存在oracle下pscache占用記憶體過多的問題,可以把這個數值配置大一些,比如說100

validationquery

用來檢測連線是否有效的sql,要求是乙個查詢語句,常用select 'x'。如果validationquery為null,testonborrow、testonreturn、testwhileidle都不會起作用。

validationquerytimeout

單位:秒,檢測連線是否有效的超時時間。底層呼叫jdbc statement物件的void setquerytimeout(int seconds)方法

testonborrow

true

申請連線時執行validationquery檢測連線是否有效,做了這個配置會降低效能。

testonreturn

false

歸還連線時執行validationquery檢測連線是否有效,做了這個配置會降低效能。

testwhileidle

false

建議配置為true,不影響效能,並且保證安全性。申請連線的時候檢測,如果空閒時間大於timebetweenevictionrunsmillis,執行validationquery檢測連線是否有效。

keepalive

false

(1.0.28)

連線池中的minidle數量以內的連線,空閒時間超過minevictableidletimemillis,則會執行keepalive操作。

timebetweenevictionrunsmillis

1分鐘(1.0.14)

有兩個含義:

1) destroy執行緒會檢測連線的間隔時間,如果連線空閒時間大於等於minevictableidletimemillis則關閉物理連線。

2) testwhileidle的判斷依據,詳細看testwhileidle屬性的說明

numtestsperevictionrun

30分鐘(1.0.14)

不再使用,乙個druiddatasource只支援乙個evictionrun

minevictableidletimemillis

連線保持空閒而不被驅逐的最小時間

connectioninitsqls

物理連線初始化的時候執行的sql

exceptionsorter

根據dbtype自動識別

當資料庫丟擲一些不可恢復的異常時,拋棄連線

filters

屬性型別是字串,通過別名的方式配置擴充套件外掛程式,常用的外掛程式有:

監控統計用的filter:stat

日誌用的filter:log4j

防禦sql注入的filter:wall

proxyfilters

型別是list,如果同時配置了filters和proxyfilters,是組合關係,並非替換關係

阿里github官網 配置屬性列表

DruidDataSource的使用 配置

記錄一下使用druiddatasource的常用配置。1.pom.xml中引入 com.alibaba druid 1.0.18 2.中配置 configuration public class mysqlconfig private string username value private st...

02 06 列屬性(簡單屬性)

列屬性又稱字段屬性,在mysql中一種有六個列屬性 null 預設值 列描述 主鍵 唯一鍵和自動增長 null屬性 代表欄位為空,如果對應的值為yes表示該欄位可以為null.注意 在設計表的時候,盡量不要讓資料為空 mysql的記錄長度為65535個位元組,如果乙個表中有字段允許為null,那麼系...

mysql列鍵 Mysql列屬性

列屬性又稱之為字段屬性 在mysql中一共有6個屬性 null,預設值 default 列描述 comment 主鍵 primary key 唯一鍵 unique key 和自動增長 修改資料庫字符集 字符集和校對集 alter database 資料庫名字 charset 字符集 null屬性 1...