# MyBatis源码-目录说明
介绍 MyBatis 源码目录相关功能
# 介绍
学习 MyBatis 源码前,先对源代码的目录进行分析,这样有利于现有一个整体全局性。然后再对某个功能或模块进行深入刨析。
# 目录结构
java/
└── org/
└── apache/
└── ibatis/
├── annotations
├── binding
├── builder
├── cache
├── cursor
├── datasource
├── exceptions
├── executor
├── io
├── jdbc
├── lang
├── logging
├── mapping
├── parsing
├── plugin
├── reflection
├── scripting
├── session
├── transaction
├── type
└── util
# 分组结构
我们把上述目录,按照功能可以分为下面3个组
# 基础功能包:
- exceptions
- reflection
- annotations
- lang
- type
- io
- logging
- parsing
# 配置解析包:
- binding
- builder
- mapping
- scripting
- datasource
# 核心操作包:
- jdbc
- cache
- transaction
- cursor
- executor
- session
- plugin
MyBatis项目包的作用:
# 关键包介绍
# exceptions 包
exceptions 包是 MyBatis 定义的异常类存放目录
# reflection 包
reflection 包提供了相关反射功能的实现
# annotations 包
该目录存放 MyBatis 自定义注解类
# lang 包
该目录和 annotations 包类似都是存放注解类
# type 包
type 包主要提供各种类型处理器的实现
# io 包
io 包配置文件及xml文件的读取
# parsing 包
parsing 包解析xml文件
# binding 包
binding 包主要用来处理Java方法与SQL语句之间绑定关系的包
# mapping 包
mapping 包定义了 MyBatis 解析实体类
# 参考文章:
- 《通用源码阅读指导书——MyBatis源码详解》