一起來學大數據|JDBC資料庫連接高級版,工具類與連接池

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

昨天我們看了jdbc的簡單連接數據庫,但是其中還存在著許多的問題。

問題一 :

根據昨天的例子發現,獲取數據庫連接,釋放數據庫資源的代碼都一樣,可以提取出來一個方法,當獲取連接,釋放資源是直接調用方法,減少代碼的冗餘度。

問題二 :加載數據庫驅動,獲取連接時存在硬編碼,當數據庫改變,數據庫類型改變。密碼等信息改變時,代碼不利於維護 。

今天我們學習使用配置文件工具類來解決這些問題。

工具類的提取

1. 配置文件properties

配置數據庫連接的信息,數據都是以key/value的形式保存,配置文件中存儲了我們的數據庫地址,用戶名以及密碼,修改是這需要更改配置文件的東西,即可實現,有利於代碼的維護。

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

在src的根目錄下創建db.properties 文件

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

2.獲取配置文件中的value,將配置文件中的值提取出來之後,用Class.forName(DRIVER)加載驅動,下圖沒有加上。

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

封裝工具類,提取獲取連接 ,關閉資源方法

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

封裝工具類

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

提取獲取連接

我們將讀取文件這些方法裝在了static代碼塊中,因為文件只需要加載一次即可,放在代碼塊中正好實現這功能。減少代碼的冗餘,提高效率。

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

關閉資源方法

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

關閉資源方法1

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

關閉資源方法2

在使用完數據庫之後,我們要對數據庫的連接資源進行釋放,依次關閉結果集,statement和數據庫的連接,釋放資源,提高系統性能。

工具類的使用

獲取連接時調用工具類的獲取連接方法,釋放資源時,調用釋放資源的方法

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

工具類的使用1

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

工具類的使用2


總結:使用工具類,我們先是配置文件,load加載配置文件,加載驅動,獲取連接,最後釋放資源。還是有一些麻煩,我們在看看更簡單的連接池,3步實現數據庫連接。

數據庫連接池

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

優點

  1. 節省創建連接與釋放連接 性能消耗
  2. 連接池中連接起到複用的作用 ,提高程序性能

數據庫連接池的運行機制

(1) 程序初始化時創建連接池

(2) 使用時向連接池申請可用連接

(3) 使用完畢,將連接返還給連接池

(4) 程序退出時,斷開所有連接,並釋放資源

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

C3p0連接

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

開發步驟

1 導包 驅動包 連接池 依賴包 工具包

2 連接池對象

3 獲取連接


在開始之前我們需要添加兩個

jar

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

數據庫的源配置文件

c3p0.properties 文件名不能改, 必須放在src下 ,配置文件中的key名稱不能變,有著嚴格的格式。

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

c3p0-config.xml 可以配置多個數據庫連接並且可以指定名字去加載

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

如果使用上面的兩種配置文件配置,且放在src目錄下 c3p0數據庫連接池會自動讀取配置文件,配置文件任選一種就可以,xml文件我們之前沒有講,在以後學習到我們會有詳細的介紹。

文件也都配置好之後,我們就可以使用工具類進行數據連接了。

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

如下圖,簡單的幾步就可實現對數據庫的連接,是不是很神奇。

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

幾種連接池的簡單比較

dbcp 半自動化操作 不能自動連接

c3p0 自動化操作(自動的加載配置文件 並且設置到對象裡面) 自動嘗試連接

Druid 阿里巴巴的開源連接池。這是阿里巴巴自己研發的一種連接池,大家想想每年的雙11,龐大的信息連接,其中Druid就起到了關鍵的作用,感興趣的話,大家可以去了解了解。

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

從剛開始的封裝方法,再到使用配置文件,最後的連接池短短三步即可實現對數據庫的連接,而且是自動連接釋放資源,我們一點點的進步,希望大家可以有所學習有所得。

為了方便大家。這裡給大家提供了c3p0的jar包,大家可以點擊左下角的瞭解更多,關注後私信我,輸入c3p0獲取jar包,大家也可以中網上直接下載。

這就是我們在連接數據庫時使用的工具方法,更加的簡單方便,也更加的安全有保證。有幫助到大家的話,關注一下唄~

感謝堅持關注的朋友

一起來學大數據|JDBC數據庫連接高級版,工具類與連接池

世界很大,幸好有你

歡迎在評論區留下你的問題或困惑,我將每天與你分享我的觀點和心得。

聚焦最新科技諮訊,探尋未來智能領域,我是女陶。


分享到:


相關文章: