官术网_书友最值得收藏!

5.7 實戰:使用數據庫連接池DBCP

DBCP(DataBase Connection Pool,數據庫連接池)是流行的數據庫連接池工具,是Apache上的一個Java連接池項目,也是Tomcat使用的連接池組件。目前,DBCP新版本為2.x,基于DBCP我們可以方便地實現數據庫連接的重用。

本節將演示如何基于DBCP來實現數據庫連接池。我們創建了一個名為hello-dbcp的Maven項目作為案例。

5.7.1 添加DBCP依賴

要使用DBCP,需要在pom.xml文件中添加DBCP依賴,配置如下:

完整的pom.xml文件內容如下:

5.7.2 編寫數據庫工具類

為了簡化數據的連接操作,編寫了基于DBCP的數據庫工具類,代碼如下:

其中,setupDataSource方法用于初始化DBCP數據源,方法參數是連接URI及連接屬性。該數據源由DBCP框架實現,可以實現連接池的管理。連接屬性是由lite.properties文件中加載進來的。

當我們執行getConnection()方法時,連接是從連接池獲取的,而非實時創建的,因此可以實現連接的重用。

同理,當我們執行releaseResourcesn()方法時,其中的connection.close()并非真正地關閉連接,而是將連接放回了連接池。

5.7.3 理解DbUtil的配置化

下面來看DbUtil的初始化:

在上述方法中,將lite.properties文件中的內容轉成Java的配置類Properties對象。也就是說,創建數據源時常用的配置都可以放置在lite.properties文件中。

lite.properties文件處于Maven應用的resources目錄下,內容如下:

上述4個參數是建立JDBC連接的基本參數,最終會傳遞給setupDataSource方法。

5.7.4 編寫測試用例

測試用例代碼如下:

DbUtilTest.java的代碼與hello-jdbc項目的JdbcTest.java的代碼非常類似。唯一的區別是,數據庫連接是從DbUtil.getConnection()獲取的,而釋放資源的方法則是調用的DbUtil.releaseResources()方法。

使用以下命令執行測試:

    mvn test

運行測試用例,若看到控制臺輸出如下內容,則說明測試成功:

主站蜘蛛池模板: 邛崃市| 西乌珠穆沁旗| 南通市| 集贤县| 龙南县| 福州市| 龙海市| 邮箱| 固安县| 定日县| 宾阳县| 清徐县| 安仁县| 凤台县| 静乐县| 廉江市| 营口市| 马龙县| 高唐县| 凌源市| 洞口县| 手游| 松溪县| 龙门县| 科尔| 明溪县| 英山县| 龙海市| 湖口县| 天等县| 民勤县| 武邑县| 西青区| 孝感市| 壤塘县| 琼海市| 色达县| 龙里县| 岚皋县| 旬邑县| 湾仔区|