《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《数据库实体设计合集》

摘要: 原创出处 http://www.iocoder.cn/MyBatis/good-collection/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

1. 精尽 MyBatis 原理与源码专栏

  • 作者:芋艿
  • 只更新在笔者的知识星球,欢迎加入一起讨论 Dubbo 源码与实现
    • 目前已经有 1000+ 位球友加入...
    • 进度:已经完成 34+ 篇,预计总共 35+ 篇,完成度 97%
  • 对应 MyBatis 版本号:3.5.0-SNAPSHOT

1.1 代码统计

这里先分享一个小技巧。笔者在开始源码学习时,会首先了解项目的代码量。

第一种方式,使用 IDEA Statistic 插件,统计整体代码量。

Statistic 统计代码量

我们可以粗略的看到,总的代码量在 21441 行。还是在可接受的范围。

第二种方式,使用 Shell 脚本命令逐个 Maven 模块统计

一般情况下,笔者使用 find . -name "*.java"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l 。这个命令只过滤了部分注释,所以相比 IDEA Statistic偏多

如下是艿艿 cd 到每个包下,然后执行脚本统计后的结果:

Statistic 统计代码量

1.2 文章目录

MyBatis 的分层非常干净,主要分成三层:

  • API 接口层,暴露给开发者使用。
  • 核心处理层,实现 MyBatis 内部流程。
  • 基础模块层,提供通用的模块功能,例如缓存、反射等等功能。

可能有点绕,我们来将 MyBatis 各个包 package 拆分到这三层中。如下图所示:

分层图


为了让大家更好的让大家更愉快的精尽 MyBatis 的源码,艿艿也提供了两篇文章:


可能胖友对 Spring 如何集成 MyBatis 非常感兴趣,艿艿还是写完了所有的文章:

1.3 福利

除非了源码解析,这个系列目前里面会包含:

2. 【udbwcso】MyBatis 源码解析

666. 欢迎投稿

文章目录
  1. 1. 1. 精尽 MyBatis 原理与源码专栏
    1. 1.1. 1.1 代码统计
    2. 1.2. 1.2 文章目录
    3. 1.3. 1.3 福利
  2. 2. 2. 【udbwcso】MyBatis 源码解析
  3. 3. 666. 欢迎投稿