原創(chuàng)作品,可以轉(zhuǎn)載,但是請標(biāo)注出處地址:http://www.cnblogs.com/V1haoge/p/6675674.html 

1 回顧

  上一文中解讀了MyBatis中非池型數(shù)據(jù)源的源碼,非池型也就是只擁有單一數(shù)據(jù)連接的數(shù)據(jù)源,他只管理著一個數(shù)據(jù)連接,這種數(shù)據(jù)源現(xiàn)在很少使用,一般都是用池型數(shù)據(jù)源,因為單個連接的情況下,為了保證操作的正確性,針對這個連接的使用要進行同步,這樣無疑會拖慢系統(tǒng)運行速度。

  而使用池型數(shù)據(jù)源,在池中保存有多個數(shù)據(jù)庫連接,可以供多個數(shù)據(jù)庫訪問線程同時獲取現(xiàn)成的不同的數(shù)據(jù)庫連接,既保證了數(shù)據(jù)訪問的安全性,也能極大的提升系統(tǒng)的運行速度。

2 池型數(shù)據(jù)源

  現(xiàn)在的Java項目中多采用池型數(shù)據(jù)源,C3P0,DBCP之類的也都提供了池型數(shù)據(jù)源,在MyBatis中也自定義了一種池型數(shù)據(jù)源PooledDataSource,這個pooled正好與之前的Configuration配置文件中配置的數(shù)據(jù)源的類型“POOLED”對應(yīng)。

<dataSource type="POOLED">

2.1 池型數(shù)據(jù)源工廠

  首先我們來看看池型數(shù)據(jù)源的數(shù)據(jù)源工廠:PooledDataSourceFactory

網(wǎng)友評論