Druid 阿里巴巴開發的資料庫連線池

2021-10-24 14:21:48 字數 2075 閱讀 6995

前面有資料庫連線池的一些簡單概念和c3p0的使用基本步驟,有需要的可以去看一下

資料庫連線池:c3p0

druid是由阿里巴巴提供的資料庫連線池,也是我們平時使用的資料庫連線池,其他的也不過多贅述了,

基本步驟如下:

匯入jar包 druid-1.0.9.jar

定義配置檔案

形式是properties,可以叫任意名稱,可以放在任意目錄下。因為會在獲取資料庫連線池物件的時候通過引數的形式來獲取該配置檔案。

載入配置檔案

由於配置檔案是放在任意目錄下叫任何名稱的,所以我們需要通過類載入器載入我們的配置檔案。方法很簡單,就是

類名.class.getclassloader.getresourceassteam(「檔名」)

獲取配置檔案的流形式,再通過new乙個properties物件通過該物件的.load方法傳入流引數。

獲取連線池物件:

通過工廠來來獲取druiddatasourcefactory 需要傳入properties物件作為引數,也就是我們上一步獲取的。

獲取連線:getconnection

最後再看一下我們的**

//載入配置檔案

properties pro =

newproperties()

;inputstream is = druiddemo1.

class

.getclassloader()

.getresourceasstream

("druid.properties");

pro.

load

(is)

;//獲取連線池物件

datasource ds = druiddatasourcefactory.

createdatasource

(pro)

;//獲取連線

connection conn = ds.

getconnection()

;system.out.

println

(conn)

;

由於我們平時會經常用到資料庫連線池,為了防止我們不再每次獲取時都寫上那麼幾行**,我們就可以寫乙個工具類,這樣我們獲取資料庫連線池連線的時候只需要乙個方法就夠了。

首先我們定義乙個名為jdbcutils的類

提供靜態**塊載入配置檔案,初始化連線池物件

提供方法

獲取連線方法:通過資料庫連線池獲取連線

釋放資源

獲取連線池的方法

最後看一下我已經寫好的utils工具類

public

class

jdbcutils3

catch

(ioexception e)

catch

(exception e)

}//獲取connection連線

public

static connection getconnection

(datasource ds)

throws sqlexception

//釋放連線

public

static

void

close

(resultset rs, statement stmt,connection conn)

catch

(sqlexception throwables)}if

(stmt!=null)

catch

(sqlexception throwables)}if

(stmt!=null)

catch

(sqlexception throwables)}}

//過載,可利用上乙個方法傳空參從而簡化**

public

static

void

close

(statement stmt,connection conn)

//獲取資料庫連線池物件

public

static datasource getdatasource()

}

阿里巴巴資料庫

開源資料庫 alisql alisql 是基於 mysql 官方版本的乙個分支,由阿里雲資料庫團隊維護,目前也應用於阿里巴巴集團業務以及阿里雲資料庫服務。該版本在社群版的基礎上做了大量的效能與功能的優化改進。尤其適合電商 雲計算以及金融等行業環境。分布式資料庫 oceanbase oceanbase...

Druid 與 阿里巴巴開源專案Druid

druid 單詞 於西方古羅馬的神話人物,中文常常翻譯成德魯伊。本問介紹的druid 是乙個分布式的支援實時分析的資料儲存系統 data store 美國廣告技術公司metamarkets 於2011 年建立了druid 專案,並且於2012 年晚期開源了druid 專案。druid 設計之初的想法...

阿里巴巴開發手冊

反例 string str start for int i 0 i 100 i 2 注意 math.random 這個方法返回是double型別,注意取值的範圍 0 x 1 能夠取到零值,注意除零異常 如果想獲取整數型別的隨機數,不要將x放大10的若干倍然後取整,直接使用random物件的nexti...