写点什么

浅入浅出 mybatis(三)

作者:ES_her0
  • 2022 年 7 月 13 日
  • 本文字数:505 字

    阅读完需:约 2 分钟

上一篇文章简单描述了 mybatis 的大致运行过程,建立了一个大致的印象。今天我们从整体上看一下 mybatis 的项目结构及其分工,然后再各个击破去理解和掌握。

我们今天关注的是 mybatis 的核心包,而像 spring-boot-starter 之类的第三方包相对比较简单,以后有空再分析。下面的图是整体的包结构:

由表及里可以分为三层结构:

  • 配置解析层:主要用来读取 xml 配置文件,SQL 映射文件等

  • 核心业务功能层:提供了与数据库交互的必要功能,包括缓存,连接池等

  • 基础工具层:包括受检异常、工具类、注解、反射等

根据以上的划分,下面是具体包的功能划分表:

阅读这样体量的源码讲求循序渐进的思路,应该从最边缘依赖最少的地方入手,没有太多的调用依赖,对思路的干扰比较小。相反,核心的业务功能往往大量依赖了外围的代码,但这个时候我们已经对外围的代码相对熟悉了,阅读核心的业务逻辑自然也不会感觉陌生。


对应到 mybatis 上,基础工具层的代码偏工具属性,相对业务无关,被大量的上层代码调用,自身没有其他的依赖,这就是我们要入手的地方。当熟悉之后,我们才开始配置解析部分的阅读,这部分也偏工具,为了初始化和读取 xml 文件。最后我们再慢慢研究核心功能层,有了前面的基础,比直接阅读肯定会高效很多。

用户头像

ES_her0

关注

还未添加个人签名 2018.03.21 加入

还未添加个人简介

评论

发布
暂无评论
浅入浅出mybatis(三)_7月月更_ES_her0_InfoQ写作社区