前言
越来越多的企业已经将 MyBatis 使用到了正式的生产环境,我认为流行的原因就在于绝大部分项目都是面向表结构编程的,把 Java 对象仅当成数据容器,查询和模型变更都设计在一张表上,所谓业务逻辑就是一堆增删改查的 sql 集合,因此 Mybatis 用起来非常方便。
为什么要学 MyBatis?
除了我上面说的目前 MyBatis 在国内非常流行外,还有以下几点:
①学好 MyBatis 能很好地帮助我们解决数据层开发的问题;
②MyBatis 源码中有很多设计模式和并发编程的技巧,学好源码对提升编码能力有很大的帮助;
③最后,Mybatis 源码也是大厂面试的经常问的点。
基于上述情况,本次将给大家分享阿里 p8 私藏 MyBatis 笔记,帮助大家由浅入深地学习 MyBatis 相关知识,纵享源码细节,让开发者不仅知其然,更知其所以然。
注:由于内容较多,本次将展示部分,如果看得不过瘾想更加深入地了解本笔记彻底掌握 MyBatis 底层原理,可以后台思【717】即可获取!!
本文分为两部分,但是我想反套路来一波,首先给大家展示一下源码,再展示 MyBatis 整体学习内容,不多 bb,直接上了。
A:精进 MyBatis 源码分析 - 整体架构
①整体架构
-
项目结构
-
整体架构
-
基础支持层
-
核心处理层
-
接口层
B:精进 MyBatis 源码分析 - 基础支持层
①基础支持层
-
解析器模块
-
反射模块
-
异常模块
-
数据源模块
-
事务模块
-
缓存模块
-
类型模块
-
IO 模块
-
日志模块
-
注解模块
-
Binding 模块
C:精进 MyBatis 源码分析 - MyBatis 初始化(一)之加载 mybatis-config.xml
①MyBatis 的初始化
②初始化(一)之加载 mybatis-config.xml
-
SqlSessionFactoryBuilder
-
XMLConfigBuilder
-
Configuration
D:精进 MyBatis 源码分析 - MyBatis 初始化(二)之加载 Mapper 接口与 XML 映射文件
①MyBatis 的初始化
②初始化(二)之加载 Mapper 接口与映射文件
-
解析入口
-
MapperAnnotationBuilder
-
XMLMapperBuilder
-
XMLStatementBuilder
</