原創(chuàng)作品,可以轉(zhuǎn)載,但是請(qǐng)標(biāo)注出處地址:http://www.cnblogs.com/V1haoge/p/6675674.html
1 回顧
上一文中解讀了MyBatis中非池型數(shù)據(jù)源的源碼,非池型也就是只擁有單一數(shù)據(jù)連接的數(shù)據(jù)源,他只管理著一個(gè)數(shù)據(jù)連接,這種數(shù)據(jù)源現(xiàn)在很少使用,一般都是用池型數(shù)據(jù)源,因?yàn)閱蝹€(gè)連接的情況下,為了保證操作的正確性,針對(duì)這個(gè)連接的使用要進(jìn)行同步,這樣無(wú)疑會(huì)拖慢系統(tǒng)運(yùn)行速度。
而使用池型數(shù)據(jù)源,在池中保存有多個(gè)數(shù)據(jù)庫(kù)連接,可以供多個(gè)數(shù)據(jù)庫(kù)訪問線程同時(shí)獲取現(xiàn)成的不同的數(shù)據(jù)庫(kù)連接,既保證了數(shù)據(jù)訪問的安全性,也能極大的提升系統(tǒng)的運(yùn)行速度。
2 池型數(shù)據(jù)源
現(xiàn)在的Java項(xiàng)目中多采用池型數(shù)據(jù)源,C3P0,DBCP之類的也都提供了池型數(shù)據(jù)源,在MyBatis中也自定義了一種池型數(shù)據(jù)源PooledDataSource,這個(gè)pooled正好與之前的Configuration配置文件中配置的數(shù)據(jù)源的類型“POOLED”對(duì)應(yīng)。
<dataSource type="POOLED">
2.1 池型數(shù)據(jù)源工廠
首先我們來看看池型數(shù)據(jù)源的數(shù)據(jù)源工廠:PooledDataSourceFactory
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式