09.MyBatis源码分析笔记

整体认识MyBatis源码包

Posted by Chen Xingxu on September 15, 2020

09.MyBatis源码分析笔记–整体认识MyBatis源码包

MyBatis 核心概念

名称 意义
Configuration 管理 mysql-config.xml 全局配置关系类
SqlSessionFactory Session 管理工厂接口
SqlSession SqlSession 是一个面向用户(程序员)的接口。SqlSession 中提供了很多操作数据库的方法
Executor 执行器是一个接口(基本执行器、缓存执行器) 作用:SqlSession 内部通过执行器操作数据库
MappedStatement 底层封装对象 作用:对操作数据库存储封装,包括 sql 语句、输入输出参数
StatementHandler 具体操作数据库相关的 handler 接口
ResultSetHandler 具体操作数据库返回结果的 handler 接口

整体认识 MyBatis 源码包

├─annotations -> 注解相关 比如 select insert
├─binding -> mapper 相关
├─builder -> 解析 xml 相关
│  ├─annotation
│  └─xml
├─cache -> 缓存
│  ├─decorators
│  └─impl
├─cursor -> 返回结果 ResultSet
│  └─defaults
├─datasource -> 数据管理
│  ├─jndi
│  ├─pooled
│  └─unpooled
├─exceptions -> 异常
├─executor -> 执行器
│  ├─keygen
│  ├─loader
│  │  ├─cglib
│  │  └─javassist
│  ├─parameter
│  ├─result
│  ├─resultset
│  └─statement
├─io -> ClassLoader
├─jdbc -> JDBC(Java Database Connectivity)
├─lang -> JDK7 JDK8
├─logging -> 日志相关
│  ├─commons
│  ├─jdbc
│  ├─jdk14
│  ├─log4j
│  ├─log4j2
│  ├─nologging
│  ├─slf4j
│  └─stdout
├─mapping -> mapper 相关的封装
├─parsing -> xml 相关解析
├─plugin -> 拦截器
├─reflection -> 反射相关
│  ├─factory
│  ├─invoker
│  ├─property
│  └─wrapper
├─scripting -> 数据厂家
│  ├─defaults
│  └─xmltags
├─session -> Session
│  └─defaults
├─transaction -> 事务
│  ├─jdbc
│  └─managed
└─type -> 返回对应类型