第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

MyBatis源碼解析之?dāng)?shù)據(jù)源(含數(shù)據(jù)庫連接池簡析)

標(biāo)簽:
Java

一.概述:

常见的数据源组件都实现了javax.sql.DataSource接口;

MyBatis不但要能集成第三方的数据源组件,自身也提供了数据源的实现;

一般情况下,数据源的初始化过程参数较多,比较复杂;

二.设计模式:

为什么要使用工厂模式

 

 

数据源模块类图 :

三.MyBatis源码数据源实现

MyBatis数据源通过工厂模式实现了,非连接池的数据连接,和数据库连接池。

非连接池的数据连接:

 

MyBatis数据库连接池源码解析

数据结构如下:

 

 

使用动态代理封装了真正的数据库连接对象,进行了方法增强:使用前检查连接是否有效,关闭时对连接进行回收;

 

连接池配置文件配置的数据在这里映射。

用于管理PooledConnection对象状态的组件,通过两个list分别 管理空闲状态的连接资源和活跃状态的连接资源;

 

算法流程图:

获取连接:

 

释放连接:

 

从连接池获取连接

 

 

 

 

 释放连接:

 

 

总结:

MyBatis数据源模块使用了工厂模式,分别实现了非数据源连接和数据库连接池。数据库连接池算法十分精简易懂,这对我们后续学习c3p0 ,德鲁伊等其他连接池打下了坚实基础。

 

原文出处:https://www.cnblogs.com/dw-haung/p/Mybatis.html  


點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消