原創(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ù)源,因為單個連接的情況下,為了保證操作的正確性,針對這個連接的使用要進(jìn)行同步,這樣無疑會拖慢系統(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
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式