电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

mybatis的Configuration詳解

瀏覽:60日期:2023-10-21 17:45:34

上一篇介紹了mybatis中SqlSessionFactory的創(chuàng)建過程,今天來學(xué)習它默認實現(xiàn)中的唯一屬性Configuration ​

回顧

還是最開始的mybatis源碼環(huán)境中的測試代碼如下圖:

mybatis的Configuration詳解

利用mybatis查出數(shù)據(jù)只用三步:創(chuàng)建SqlSessionFactory、通過SqlSessionFactory創(chuàng)建SqlSession、SqlSession執(zhí)行selectOne方法。

上一篇文章梳理了SqlSessionFactory創(chuàng)建過程的源碼,發(fā)現(xiàn)它返回的是它的默認實現(xiàn)類DefaultSqlSessionFactory,而默認實現(xiàn)類有有唯一的一個屬性configuration,所以SqlSessionFactory根本的依賴還是Configuration類。

Configuration基礎(chǔ)信息說明

Configuration類中有很多的屬性,下面是基礎(chǔ)屬性的源碼以及部分說明如下圖:

mybatis的Configuration詳解

上面主要是一些settings屬性,settings屬性是MyBatis 的基礎(chǔ)性設(shè)置,它們會改變 MyBatis 的運行時行為。更加完整的說明在官方文檔上:https://mybatis.org/mybatis-3/zh/configuration.html。去掉zh可以查看英文版本。

這里面有一個熟悉protected Properties variables = new Properties();這個屬性對應(yīng)是我們在mybatis配置文件中有時會配置的properties節(jié)點的內(nèi)容,有時候我們會配置url、driver、username、password等信息。然后在其他節(jié)點使用${}來使用。

擴展屬性和無參構(gòu)造

上面介紹了決定mybatis一些基礎(chǔ)行為的屬性,在Configuration還存有一些mybatis可用來擴展的和運行中需要信息,下圖中是這些屬性已經(jīng)Configuration的無參構(gòu)造函數(shù):

mybatis的Configuration詳解

上一節(jié)是mybatis中的環(huán)境配置信息,而上圖是一些mybatis運行中要用到的信息,比如:resultMap集合、sql語句集合、插件列表、緩存、類型別名、類型處理器等。

其中很多屬性使用的是Configuration中的了一個內(nèi)部靜態(tài)類StrictMap,它繼承自HashMap,對HashMap的裝飾在于增加了put時防重復(fù)的處理,get時取不到值時候的異常處理,這樣在使用時就不需要關(guān)心各種異常,簡化應(yīng)用層邏輯。

Configuration的無參構(gòu)造函數(shù)主要往typeAliasRegistry中put了一些數(shù)據(jù),typeAliasRegistry是類型注冊器,通過這段代碼知道為什么可以在配置文件中配置“”這類信息了,因為通過type的值能夠找到對應(yīng)的類。

再看parse方法

在上一篇文章SqlSessionFactory創(chuàng)建過程中講到了Configuration是通過無參構(gòu)造函數(shù)創(chuàng)建了一個Configuration對象,然后在最后調(diào)用了parse方法。無參構(gòu)造函數(shù)上一節(jié)已經(jīng)進行了說明,最后再來看上一篇文章最后的parse方法調(diào)用的parseConfiguration方法如下圖:

mybatis的Configuration詳解

這次在看parseConfiguration方法中的內(nèi)容就更加清楚在干嘛了。

總結(jié)

今天只梳理了Configuration中包含的屬性以及默認構(gòu)造函數(shù),分析完成后最終還是指向了上一篇文章的parseConfiguration方法,那么從下一篇文章開始就來仔細分析一下parseConfiguration對Configuration具體做了哪些設(shè)置以及流程。

到此這篇關(guān)于mybatis的Configuration詳解的文章就介紹到這了,更多相關(guān)mybatis Configuration內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

相關(guān)文章:
主站蜘蛛池模板: 北京开源多邦科技发展有限公司官网 | 探鸣起名网-品牌起名-英文商标起名-公司命名-企业取名包满意 | 防爆电机-高压防爆电机-ybx4电动机厂家-河南省南洋防爆电机有限公司 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 大型低温冷却液循环泵-低温水槽冷阱「厂家品牌」京华仪器_京华仪器 | 润滑脂-高温润滑脂-轴承润滑脂-食品级润滑油-索科润滑油脂厂家 | 水上浮桥-游艇码头-浮动码头-游船码头-码瑞纳游艇码头工程 | 哈希PC1R1A,哈希CA9300,哈希SC4500-上海鑫嵩实业有限公司 | 便携式高压氧舱-微压氧舱-核生化洗消系统-公众洗消站-洗消帐篷-北京利盟救援 | 水轮机密封网 | 水轮机密封产品研发生产厂家 | 磁力抛光机_磁力研磨机_磁力去毛刺机-冠古设备厂家|维修|租赁【官网】 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 【化妆品备案】进口化妆品备案流程-深圳美尚美化妆品有限公司 | 冷热冲击试验箱_温度冲击试验箱价格_冷热冲击箱排名_林频厂家 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 考试试题_试卷及答案_诗词单词成语 - 优易学 | 好看的韩国漫画_韩漫在线免费阅读-汗汗漫画 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 拖鞋定制厂家-品牌拖鞋代加工厂-振扬实业中国高端拖鞋大型制造商 | 江苏农村商业银行招聘网_2024江苏农商行考试指南_江苏农商行校园招聘 | 玻璃钢型材_拉挤模具_玻璃钢拉挤设备——滑县康百思 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 校园气象站_超声波气象站_农业气象站_雨量监测站_风途科技 | 示波器高压差分探头-国产电流探头厂家-南京桑润斯电子科技有限公司 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 今日娱乐圈——影视剧集_八卦娱乐_明星八卦_最新娱乐八卦新闻 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 滚筒线,链板线,总装线,流水线-上海体能机电有限公司 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 闪电优家-卫生间防水补漏_酒店漏水渗水维修_防水堵漏公司 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 定制/定做冲锋衣厂家/公司-订做/订制冲锋衣价格/费用-北京圣达信 | 环球电气之家-中国专业电气电子产品行业服务网站! | 天坛家具官网|