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...