# 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项目包的作用:

img.png

# 关键包介绍

# exceptions 包

exceptions 包是 MyBatis 定义的异常类存放目录

# reflection 包

reflection 包提供了相关反射功能的实现

# annotations 包

该目录存放 MyBatis 自定义注解类

# lang 包

该目录和 annotations 包类似都是存放注解类

# type 包

type 包主要提供各种类型处理器的实现

# io 包

io 包配置文件及xml文件的读取

# parsing 包

parsing 包解析xml文件

# binding 包

binding 包主要用来处理Java方法与SQL语句之间绑定关系的包

# mapping 包

mapping 包定义了 MyBatis 解析实体类

# 参考文章:

  1. 《通用源码阅读指导书——MyBatis源码详解》
上次更新: 2024/11/5