你还是只会用 Mybatis,并不知其原理么?

相信很多开发小伙伴们,大都停留在会使用mybatis的基础上,至于原理及源码,并没有过多关注。
注意,这里我说的会使用,也仅仅是被我们伟大的 spring集成之后的 mybatis,而对于原生态的 mybatis而言,相信更多的小伙伴的表情此时已渐渐凝固~ 信不信由你~

最近,在网上冲浪的时候看到一份在GitHub都火透了的“MyBatis源码解读”文档,被堪称是全网最有深度的MyBatis源码解读,由某一线架构师总结出来的,相信大家想要的都在这里了。资料已准备好,准备接收福利吧!同时,想要领取资料的只需要【关注】+【转发】后扫描小编的二维码即可免费获取!!接下来,接下来我们就一看究竟!

主要内容

本书以MyBati s源码中的包为单位,详细和透彻地介绍每个类的源码,包括其背景知识、组织方式、逻辑结构和实现细节。共分为5篇:

  • 第1篇背景介绍
  • 第2篇基础功能包源码阅读
  • 第3篇配置解析包源码阅读
  • 第4篇核心操作包源码阅读
  • 第5篇总结与展望

第1篇背景介绍

在本篇中,我们将对源码阅读的背景和方法进行初步介绍,同时对本书的结构进行一些说明。

另外,也会在本篇中简要介绍MyBatis 的使用方法和运行原理,并在此基础上对MyBatis 的源码结构进行初步分析,为后续章节的源码阅读打好基础。

 

  • 源码阅读

 

  • MyBatis运行初探

 

第2篇基础功能包源码阅读

基础功能包用来为其他包提供一些基础功能。这些包与 MyBatis核心逻辑的耦合度很低,甚至有很多包可以在创建其他项目时直接复制使用。

在本篇中,我们将对MyBatis 基础功能包中的源码进行阅读,并在此过程中总结源码阅读的技巧。

 

  • reflection包

 

  • type包

 

  • io包

 

  • logging包

 

  • parsing包

 

第3篇配置解析包源码阅读

配置解析包用来实现 MyBatis 配置文件、映射文件的解析等工作,并最终为MyBatis 准备好进行数据库操作的运行环境。

在本篇中,我们将对MyBatis 中配置解析包的源码进行阅读,了解MyBatis是如何完成配置的解析工作的。在此过程中,也会总结相关的源码阅读技巧。

 

  • 配置解析概述

 

  • binding包

 

  • builder包

 

  • mapping包

 

  • scripting包

 

  • datasource包

 

第4篇核心操作包源码阅读

核心操作包是 MyBatis 进行数据库查询和对象关系映射等工作的包。该包中的类能完成参数解析、数据库查询、结果映射等主要功能。在主要功能的执行过程中还会涉及缓存、懒加载、鉴别器处理、主键自增、插件支持等众多其他功能。

本篇我们将详细阅读核心操作包中的源码,了解MyBatis如何完成以上功能。

 

  • jdbc包

 

  • cursor包

 

  • executor包

 

  • session包

 

  • plugin包

 

第5篇总结与展望

在 MyBatis 源码阅读的过程中,我们用到了很多源码阅读的技巧。在这一篇中,我们也会对这些技巧进行总结。

另外,我们还会推荐一些优秀的开源项目,以便大家在有精力时继续进行新的源码阅读工作。

 

  • 优秀开源项目推荐

 

总结

感谢大家看到最后!最后也祝大家,早日能拿下MyBatis去洞房,生出一个叫“知识”的娃儿来。

同时!哪位大哥想要领取“Mybatis源码解析文档”的只需要【关注】+【转发】后扫描小编的二维码即可免费获取!!