一. 包结构
Mybatis项目所有包一共20个
二.分组结构
按照功能对包进行划分,之后源码阅读会更有条理,有层次。
- 基础功能包 : exception relection annotations lang type io logging parsing
- 配置解析包: bingding builder mapping scripting darasource
- 核心操作包: jdbc cache transaction cursor executor session plugin
读源码应该像剥洋葱一样,由外及内、逐层深入,先外围代码入手,外围代码依赖小,比较独立, 核心代码大量依赖外围代码,先读完外围代码会降低核心代码的阅读难度。
所以 mybatis源码阅读顺序 基础功能包 -> 配置解析包 -> 核心操作包