阿里P8级大佬(兼面试官)力荐的近300页的mybatis源码解
MyBatis作为持久层框架,以其小巧轻便、SQL可配置、使用简单等特点深受广大Java开发者喜爱。然而大多数开发人员对MyBati s框架的理解仅局限于使用,并不理解框架底层的实现原理。作为一名开发人员,阅读开源框架的源码,可以学习源码中对设计模式及面向对象设计原则的应用,有助于提升自身编码能力。笔者在工作之余,深入研究了MyBatis框架的源码,该文档将会从源码的角度分析MyBatis框架各个特性的实现原理。
由于内容太多,这里只截取部分的目录内容。需要这份mybatis源码深度解析的“电子版”资料的小伙伴,点击快速入手通道:(点这里)下载!诚意满满!!!
第1章搭建MyBa ti s源码环境
主要介绍如何搭建MyBati s源码调试环境,包括MyBati s框架源码获取途径、如何导入集成开发工具以及如何运行MyBat is源码中的测试用例。
![](https://img.haomeiwen.com/i13465705/718216f4dc869c81.png)
第2章JDBC规范详解
MyBati s框架是对JDBC轻量级的封装,熟练掌握JDBC规范有助于理解MyBatis框架实现原理。本章将详细介绍JDBC规范相关细节,已经全面掌握JDBC规范的读者可以跳过该章。
![](https://img.haomeiwen.com/i13465705/338a342f177b6c87.png)
第3章MyBat is常用工具类
介绍MyBatis框架中常用的工具类,避免读者因对这些工具类的使用不熟悉而导致对框架主流程理解的干扰,这些工具类包括Me ta0bject、Ob jectFac tory、ProxyFactory等。
![](https://img.haomeiwen.com/i13465705/499ec33f327f72e8.png)
第4章MyBat is核心组件介绍
介绍MyBatis的核心组件,包括Conf iguration、SqlSess ion、Executor、MappedS tat ement等,包括这些组件的作用及MyBat is执行SQL语句的核心流程。
![](https://img.haomeiwen.com/i13465705/da80f8acc18de47d.png)
第5章Sql Sessi on的创建过程
主要介绍Sq lSess ion组件的创建过程,包括MyBa tis框架对XPa th方式解析XML封装的工具类、MyBat is主配置文件解析生成Confi gurat ion对象的过程。
![](https://img.haomeiwen.com/i13465705/c3e9fce72ab48910.png)
第6章SqlSession执行Mapper过程
本章介绍Mapper接口注册的过程、SQL配置转换为MappedSta tement对象并注册到Confi gurat ion对象的过程。除此之外,本章还将介绍Sq lSess ion对象执行Mapper的过程。
![](https://img.haomeiwen.com/i13465705/beb7b459aa6c039f.png)
第7章MyBat is缓存
本章首先介绍MyBatis- -级缓 存和二级缓存的使用细节,接着介绍一级缓存和二级缓存的实现原理,最后介绍MyBat is如何整合Redis作为二级缓存。
![](https://img.haomeiwen.com/i13465705/ef817478f79cfdb8.png)
第8章MyBatis日 志实现
基于Java语言的日志框架比较多,比较常用的有Logback. Log4j等, 本章介绍Java的日志框架发展史,并介绍这些日志框架之间的关系,最后介绍MyBatis自动查找日志框架的实现原理。
![](https://img.haomeiwen.com/i13465705/980a478811da6dbb.png)
第9章动态SQL实现原理
本章主要介绍MyBat is动态SQL的使用、动态SQL配置转换为Sql Source对象的过程以及动态SQL的解析原理,最后从源码的角度分析动态SQL配置中#{}和${}参数占位符的区别。
![](https://img.haomeiwen.com/i13465705/24a5e9f0e27802e4.png)
第10章MyBatis插件 原理及应用
本章介绍MyBatis插件的实现原理,并以实际的案例介绍如何自定义MyBatis插件。在本章中将会实现两个MyBatis插件,分别为分页查询插件和慢SQL统计插件。
![](https://img.haomeiwen.com/i13465705/1239a96c2da5141d.png)
第11章MyBatis级联映射 与懒加载
本章介绍MyBatis中-一对- -、- -对多级联映射和懒加载机制的使用细节,并介绍级联映射和懒加载的源码实现。
![](https://img.haomeiwen.com/i13465705/4c55788ab6ad8946.png)
第12章MyBatis 与Spring整合案例
在介绍MyBatis框架与Spr ing整合原理之前,需要了解MyBat is整合Spr ing的基本配置,本章以一个用户注册RESTful接口案例作为MyBati s框架与Spring框架整合的最佳实践。
![](https://img.haomeiwen.com/i13465705/ebb64d5917781eae.png)
第13章MyBatis Spr ing的实现原理
首先介绍Spring框架中的一- 些核心概念和Spring IoC容 器的启动过程,接着介绍MyBat is和Spr ing整合后动态代理产生的Mapper对象是如何与Spring Ioc 容器进行关联的,最后介绍MyBat is整合Spring事务管理的实现原理。
![](https://img.haomeiwen.com/i13465705/7aa2813911ab189a.png)
总目录
![](https://img.haomeiwen.com/i13465705/ac679de19fad08d6.png)
快速入手通道:(点这里)下载!诚意满满!!!
Java面试精选题、架构实战文档传送门:https://docs.qq.com/doc/DRW1nUkdhZG5zeGVi
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断!!!