下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第JavaAPI開(kāi)發(fā)中使用Durid進(jìn)行數(shù)據(jù)庫(kù)連接池管理在JavaAPI的開(kāi)發(fā)過(guò)程中,連接數(shù)據(jù)庫(kù)是一個(gè)常見(jiàn)的需求。由于每次都使用DriverManager來(lái)獲取數(shù)據(jù)庫(kù)連接會(huì)帶來(lái)較高的開(kāi)銷,因此,使用連接池技術(shù)是十分必要的。Druid是一款高性能的JDBC連接池,具有監(jiān)控、統(tǒng)計(jì)、擴(kuò)展等一系列強(qiáng)大的功能,本文將介紹在JavaAPI的開(kāi)發(fā)中如何使用Druid。
一、Druid簡(jiǎn)介
Druid是阿里巴巴開(kāi)發(fā)的一款數(shù)據(jù)庫(kù)連接池,它具有性能優(yōu)異、功能豐富、使用簡(jiǎn)單等特點(diǎn)。Druid連接池的優(yōu)點(diǎn)如下:
快速響應(yīng)SQL請(qǐng)求
提供SQL監(jiān)控能力
提供SQL執(zhí)行時(shí)間的平均值、最大值、最小值等統(tǒng)計(jì)數(shù)據(jù)
啟用防SQL注入功能
Druid的代碼和數(shù)據(jù)庫(kù)驅(qū)動(dòng)一樣小,不超過(guò)2MB,非常適合嵌入式的應(yīng)用程序。
二、使用Druid進(jìn)行連接池管理
下面我們來(lái)看如何在Java應(yīng)用中使用Druid進(jìn)行連接池的管理。
引入Druid依賴
在pom.xml中引入Druid相關(guān)依賴
!--druid--
dependency
groupIdcom.alibaba/groupId
artifactIddruid/artifactId
version1.1.10/version
/dependency
配置Druid連接池
在使用Druid連接池之前,需要對(duì)其進(jìn)行配置。Druid的配置可以通過(guò)代碼和配置文件兩種方式實(shí)現(xiàn),這里以代碼方式為例。
//創(chuàng)建Properties對(duì)象用于存儲(chǔ)配置信息
Propertiesprops=newProperties();
//設(shè)置連接池基本屬性
props.put(driverClassName,com.MySQL.jdbc.Driver
props.put(url,jdbc:mysql://localhost:3306/test
props.put(username,root
props.put(password,root
//連接屬性配置
props.put(initialSize,5
props.put(minIdle,5
props.put(maxActive,20
props.put(maxWAIt,60000
props.put(timeBetweenEvictionRunsMillis,60000
props.put(minEvictableIdleTimeMillis,300000
props.put(validationQuery,SELECTx
props.put(testWhileIdle,true
props.put(testOnBorrow,false
props.put(testOnReturn,false
props.put(poolPreparedStatements,true
props.put(maxOpenPreparedStatements,20
props.put(filters,stat,wall,log4j
//創(chuàng)建DruidDataSource實(shí)例
DruidDataSourcedataSource=newDruidDataSource();
dataSource.configFromPropety(props);
以上代碼中,我們?cè)O(shè)置了數(shù)據(jù)庫(kù)連接URL、用戶名、密碼,以及初始化連接數(shù),最大連接數(shù)等配置信息。其中,各項(xiàng)配置的含義如下:
driverClassName:JDBC驅(qū)動(dòng)全類名
url:數(shù)據(jù)庫(kù)連接URL
username:數(shù)據(jù)庫(kù)連接用戶名
password:數(shù)據(jù)庫(kù)連接密碼
initialSize:初始化時(shí)建立物理連接的個(gè)數(shù)。初始化發(fā)生在啟動(dòng)時(shí)。
maxActive:最大連接池?cái)?shù)量
minIdle:最小連接池?cái)?shù)量
maxWait:獲取連接時(shí)最大等待時(shí)間,單位毫秒。
timeBetweenEvictionRunsMillis:有兩個(gè)含義:1)Destroy線程會(huì)檢測(cè)連接的間隔時(shí)間。2)testWhileIdle的判斷依據(jù),詳細(xì)看testWhileIdle屬性的說(shuō)明
minEvictableIdleTimeMillis:連接在池中最小生存的時(shí)間,單位是毫秒。
validationQuery用來(lái)檢測(cè)連接是否有效,要求是一個(gè)查詢語(yǔ)句(語(yǔ)句的執(zhí)行結(jié)果無(wú)所謂)。
-testWhileIdle:申請(qǐng)連接的時(shí)候檢測(cè),如果空閑時(shí)間大于timeBetweenEvictionRunsMillis,執(zhí)行validationQuery檢測(cè)連接是否有效。
-testOnBorrow:申請(qǐng)連接時(shí)執(zhí)行validationQuery檢測(cè)連接是否有效,做了這個(gè)配置會(huì)降低性能。
-testOnReturn:歸還連接時(shí)執(zhí)行validationQuery檢測(cè)連接是否有效,做了這個(gè)配置會(huì)降低性能,并且會(huì)在連接池中增加一次判斷
-poolPreparedStatements:是否緩存preparedStatement,也就是PSCache。PSCache對(duì)支持游標(biāo)的數(shù)據(jù)庫(kù)性能提升巨大,比如說(shuō)Oracle。在mysql下建議關(guān)閉。
-maxOpenPreparedStatements:開(kāi)啟poolPreparedStatements后,需要指定每個(gè)連接
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省西雙版納市2026屆生物高三上期末聯(lián)考模擬試題含解析
- 班組翻樣集中管理制度(3篇)
- 福建正規(guī)企業(yè)培訓(xùn)管理制度(3篇)
- 藥學(xué)項(xiàng)目管理制度有哪些(3篇)
- 詐騙投票活動(dòng)策劃方案(3篇)
- 防疫相關(guān)管理制度和流程(3篇)
- 食堂水質(zhì)檢測(cè)管理制度(3篇)
- 《GA 782.1-2008指紋信息應(yīng)用交換接口規(guī)范 第1部分:指紋信息應(yīng)用交換接口模型》專題研究報(bào)告-數(shù)字化身份時(shí)代的基石架構(gòu)深度
- 中學(xué)學(xué)生課外實(shí)踐基地建設(shè)制度
- 養(yǎng)老院特殊護(hù)理制度
- 糖水店員工管理制度
- 來(lái)料檢驗(yàn)控制程序(含表格)
- 醫(yī)院供氧、供電、供水故障脆弱性分析報(bào)告
- 2025年鈦合金閥項(xiàng)目可行性研究報(bào)告
- 耙地合同協(xié)議書(shū)
- 分布式基站光伏電站建設(shè)標(biāo)準(zhǔn)
- 2024-2025學(xué)年廣東省深圳市福田區(qū)六年級(jí)(上)期末數(shù)學(xué)試卷
- 酸棗扦插快繁技術(shù)規(guī)程DB1305T+098-2016
- 道岔滾輪作用原理講解信號(hào)設(shè)備檢修作業(yè)課件
- 小學(xué)師徒結(jié)對(duì)師傅工作總結(jié)
- 2024-2025學(xué)年山東省臨沂市高二上學(xué)期期末學(xué)科素養(yǎng)水平監(jiān)測(cè)數(shù)學(xué)試卷(含答案)
評(píng)論
0/150
提交評(píng)論