mybatis 源码解析之 mybatis 架构

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wenxueliu/article/details/88149745

架构

Mybatis 架构

代码目录

annotation : MyBatis 注解对象
binding:配置中 mapper 部分,扫描 xml 配置文件
builder:Builder 模式构造各种 annotation 和 xml 对象
cache:缓存的实现,一级缓存,二级缓存
cursor:流式查询,大数据量的时候避免 OOM
datasource:数据库配置,支持 UNPOOLED,POOL,JNDI
exception : 异常处理
executor:SQL 执行,整个系统的核心
io:提供读取资源文件的API、封装MyBatis自身所需要的ClassLoader和加载顺序
jdbc:依赖底层的 JDBC
logging:MyBatis使用了自己定义的一套logging接口,根据开发者常使用的日志框架提供了适配
mapping : 包括结果集映射、参数映射、sql映射
parsing: xml 解析,${}和#{} 解析
plugin:插件,用于拦截Executor、StatementHandler、ParameterHandler和ResultSetHandler
reflection:Mybatis 参数处理、读取Class元数据、调用get/set等大量采用了反射,对常见的反射操作进一步封装,以提供更简洁方便的API
scripting:解析xml配置的sql
session:session 管理
transaction:事务相关。至此 Managed,Jdbc
type:类型处理,包括设置sql语句参数时的类型处理和获取sql语句执行结果的类型处理

后续主题

  • 执行引擎:sql 执行、 session 管理、事务管理
  • 配置管理:配置解析
  • 缓存:缓存实现
  • 插件机制:扩展机制
展开阅读全文

没有更多推荐了,返回首页