前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mybatis 3_mybatis源码分析

mybatis 3_mybatis源码分析

作者头像
Java架构师必看
发布2022-08-03 08:22:43
2080
发布2022-08-03 08:22:43
举报
文章被收录于专栏:Java架构师必看

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说mybatis 3_mybatis源码分析,希望能够帮助大家进步!!!

最近在网上看了mybatis的源码直播,记录、复习一下当时的内容!!

阅读源码需要从三个方向来剖析:

1.宏观:分析这个框架具备哪些功能

2.微观:阅读源码

3.图解:根据源码画出UML图

阅读源码的方式:

1.跟着代码debug进入源码

2.带着问题来看源码

前期准备

1.引入包

2.准备配置文件

3.配置解析demo

4.业务查询demo

=====================================================================

1.mybatis解析配置是怎样的流程

=====================================================================

假如前期准备完成,现在执行mybatis的demo,第二步是为了拿到文件流,我们直接看第三步并进入mybatis源码

其中new XMLConfigBuilder(reader, environment, properties)只是为了解析xml文件的,

拿到这个对象后,在parser.parse()进行解析XML中的内容

这段代码就是去解析了xml配置的内容,并最终存储在configuration类中

:这里没有详细说,具体看源码,configuration在XMLConfigBuilder类中

解析完数据源等配置后,返回build处,继续看代码

到此,mybatis已经拥有了所有的配置信息【db , sql】

=====================================================================

2.mybait执行(XML)业务查询的流程是怎样

=====================================================================

当sqlSessionFactory对象初始化完成后,我们需要从它的openSession方法获取到sqlSession对象:

configuration中的ExecutorType默认是simple

这里面也是初始化一些内容,这些后面再详细探讨,并在最后返回了DefaultSqlSession(sqlSession)对象

继续往下看这个查询,查看session.selectOne的执行流程

这个是抽象方法,需要子类实现,也就是SimpleExecutor

getFirstResultSet(stmt)的源码如下

=====================================================================

2.mybait是怎样解析

=====================================================================

持续更新中...

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-012,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档