資料庫連線池DBCP的配置介紹

2021-07-06 09:56:35 字數 2315 閱讀 8562

#

基本配置

driverclassname=com.mysql.jdbc.driver

url=jdbc:mysql://localhost:3306/mydb1

username=root

password=123 #

初始化池大小,即一開始池中就會有

10個連線物件

預設值為0

initialsize=0 #

最大連線數,如果設定

maxactive=50

時,池中最多可以有

50個連線,當然這

50個連線中包含被使用的和沒被使用的(空閒) #

你是乙個包工頭,你一共有

50個工人,但這

50個工人有的當前正在工作,有的正在空閒 #

預設值為

8,如果設定為非正數,表示沒有限制!即無限大

maxactive=8 #

最大空閒連線 #

當設定maxidle=30

時,你是包工頭,你允許最多有

20個工人空閒,如果現在有

30個空閒工人,那麼要開除10個

#預設值為

8,如果設定為負數,表示沒有限制!即無限大

maxidle=8 #

最小空閒連線 #

如果設定

minidel=5

時,如果你的工人只有

3個空閒,那麼你需要再去招

2個回來,保證有

5個空閒工人 #

預設值為0

minidle=0 #

最大等待時間 #

當設定maxwait=5000

時,現在你的工作都出去工作了,又來了乙個工作,需要乙個工人。 #

這時就要等待有工人回來,如果等待

5000

毫秒還沒回來,那就丟擲異常 #

沒有工人的原因:最多工人數為

50,已經有

50個工人了,不能再招了,但

50人都出去工作了。 #

預設值為

-1,表示無限期等待,不會丟擲異常。

maxwait=-1 #

連線屬性 #

就是原來放在

url後面的引數,可以使用

connectionproperties

來指定

#如果已經在

url後面指定了,那麼就不用在這裡指定了。

#useserverprepstmts=true

,mysql

開啟預編譯功能

#cacheprepstmts=true

,mysql

開啟快取

preparedstatement

功能,

#prepstmtcachesize=50

,快取preparedstatement

的上限

#prepstmtcachesqllimit=300

,當sql

模板長度大於

300時,就不再快取它

connectionproperties=useunicode=true;characterencoding=utf8;useserverprepstmts=true;cacheprepstmts=true;prepstmtcachesize=50;prepstmtcachesqllimit=300 #

連線的預設提交方式 #

預設值為

true

defaultautocommit=true #

連線是否為唯讀連線

#connection

有一對方法:

setreadonly(boolean)

和isreadonly() #

如果是唯讀連線,那麼你只能用這個連線來做查詢 #

指定連線為唯讀是為了優化!這個優化與併發事務相關! #

如果兩個併發事務,對同一行記錄做增、刪、改操作,是不是一定要隔離它們啊? #

如果兩個併發事務,對同一行記錄只做查詢操作,那麼是不是就不用隔離它們了? #

如果沒有指定這個屬性值,那麼是否為唯讀連線,這就由驅動自己來決定了。即

connection

的實現類自己來決定!

defaultreadonly=false #

指定事務的事務隔離級別 #

可選值:

none,read_uncommitted, read_committed, repeatable_read, serializable #

如果沒有指定,那麼由驅動中的

connection

實現類自己來決定

defaulttransactionisolation=

repeatable_read

資料庫連線池技術 DBCP連線池 配置

最近遇到資料庫連線池配置問題,搜了很多資料對照著進行全域性配置都沒有解決。報的錯誤是 org.apache.tomcat.dbcp.dbcp.sqlnestedexception cannot create jdbc driver of class for connect url jdbc mysq...

DBCP資料庫連線池的配置

1.匯入jar包 commons dbcp.jar commons logging.jar commons pool.jar 2.dbcp的屬性 initialsize 連線池啟動時建立的初始化連線數量 預設值為0 maxactive 連線池中可同時連線的最大的連線數 預設值為8,調整為20 max...

DBCP連線池配置

連線池中的maxidle,maxactive,maxwait引數 maxidle 是最大的空閒連線數,這裡取值為20,表示即使沒有資料庫連線時依然可以保持20空閒的 設為0表示無限制。maxactive,連線池的最大資料庫連線數。設為0表示無限制。maxwait 最大建立連線等待時間。如果超過此時間...