本文主要讲解是腾讯T5大牛对mybatis的深入解析,也对 MyBatis 源码进行了深入分析,更是详细的分解了 MyBatis 的实战演练。
废话不多说,直接进入文章
本章主要将从三个角度向大家介绍 MyBatis,分别是 MyBatis是什么,为什么要使用,以及如何使用?(由于文档内容过多,只能截图展示部分,文末又全部资料下载方式。)
![78379584d2d5476b6120ea1c20eda650.png](https://img-blog.csdnimg.cn/img_convert/78379584d2d5476b6120ea1c20eda650.png)
源码解读更易理解:
![f906673e9b70226a0b41052c6204746d.png](https://img-blog.csdnimg.cn/img_convert/f906673e9b70226a0b41052c6204746d.png)
第二章与第三章讲述了 配置文件解析过程和 映射文件解析过程:
![58bf3a1afecc7670b1be460f9da76d6f.png](https://img-blog.csdnimg.cn/img_convert/58bf3a1afecc7670b1be460f9da76d6f.png)
![0470c0ab7e22bff4473a56f4b082d127.png](https://img-blog.csdnimg.cn/img_convert/0470c0ab7e22bff4473a56f4b082d127.png)
![c140c6e0c480584ea323d4147a8b62b3.png](https://img-blog.csdnimg.cn/img_convert/c140c6e0c480584ea323d4147a8b62b3.png)
第4章描述了 SQL的执行流程
可分为以下6点来描述:
1. 为 mapper 接口生成实现类
2. 根据配置信息生成 SQL,并将运行时参数设置到 SQL 中
3. 一二级缓存的实现
4. 插件机制
5. 数据库连接的获取与管理
6. 查询结果的处理,以及延迟加载等
![b2a4788c4ce4a6aee1d57531e01604fa.png](https://img-blog.csdnimg.cn/img_convert/b2a4788c4ce4a6aee1d57531e01604fa.png)
图文并茂,轻熟易懂:
![288d178ac491128415f100c96e955374.png](https://img-blog.csdnimg.cn/img_convert/288d178ac491128415f100c96e955374.png)
![71ea3938d4ed1b941aa73023acb3da42.png](https://img-blog.csdnimg.cn/img_convert/71ea3938d4ed1b941aa73023acb3da42.png)
第五章讲述了内置数据源
大家都知道MyBatis 支持三种数据源配置,分别为 UNPOOLED、POOLED 和 JNDI。并提供了两种数据源实现,分别是UnpooledDataSource 和 PooledDataSource 。 在这三种数据源配置中, UNPOOLED 和POOLED 是我们最常用的两种配置,这两种数据源也是本章要重点分析的对象。
![7e8109e22d0551460136b2d9cb64f843.png](https://img-blog.csdnimg.cn/img_convert/7e8109e22d0551460136b2d9cb64f843.png)
![ba76a5ec9941516bf79cbee89bac12a1.png](https://img-blog.csdnimg.cn/img_convert/ba76a5ec9941516bf79cbee89bac12a1.png)
![0e91605fb63852164585ffcfa36def0e.png](https://img-blog.csdnimg.cn/img_convert/0e91605fb63852164585ffcfa36def0e.png)
第6章 和第7章讲述了缓存机制 和插件机制
在 Web 应用中,缓存是必不可少的组件。通常我们都会用 Redis 或 memcached 等缓存中间件,拦截大量奔向数据库的请求,以减轻数据库压力。作为一个重要的组件,MyBatis自然也在内部提供了相应的支持。通过在框架层面增加缓存功能,可减轻数据库的压力,同时又可以提升查询速度,可谓一举两得。MyBatis 缓存结构由一级缓存和二级缓存构成,这两级缓存均是使用 Cache 接口的实现类。因此本章将首先会向大家介绍 Cache 几种实现类的源码,然后再分析一级和二级缓存的实现。
![2ec85fb6cbfca78c5a20f5532f590a0c.png](https://img-blog.csdnimg.cn/img_convert/2ec85fb6cbfca78c5a20f5532f590a0c.png)
![5ea2455eca97c10cf0ac860f95c7633f.png](https://img-blog.csdnimg.cn/img_convert/5ea2455eca97c10cf0ac860f95c7633f.png)
![99492d200e3ca7aacad55c3099b2bb9a.png](https://img-blog.csdnimg.cn/img_convert/99492d200e3ca7aacad55c3099b2bb9a.png)
上面是详细解读了源码,接下来是用源码结合实践的 Mybatis实战整理资料。而且图文并茂,理论结合实战,通俗易懂。(其中每个章节知识点都是相关连由浅入深的一步步全面分析了Mybatis技术原理以及实战
可以分为三大部分来解读:第一部分 是MyBatis基础应用,主要介绍如何高效地使用MyBatis.
第1章: MyBatis 的内容简介,告诉读者MyBatis是什么,在何种场景下使用它。
第2章:主要介绍MyBatis的基础模块及其生命周期,并给出实例。
第3章:主要介绍MyBatis配置的主要含义和内容。
第4章:介绍MyBatis映射器的主要元素及其使用方法。
第5章:介绍动态SQL,助你轻松应对大部分的SQL场景。
![6c6d9fc749fb20a801b4a46bddb623cd.png](https://img-blog.csdnimg.cn/img_convert/6c6d9fc749fb20a801b4a46bddb623cd.png)
![6da600931af02b30a31396949c14d0b2.png](https://img-blog.csdnimg.cn/img_convert/6da600931af02b30a31396949c14d0b2.png)
内容展示:
![9ae335a701b068b90a970f2a3ec833b0.png](https://img-blog.csdnimg.cn/img_convert/9ae335a701b068b90a970f2a3ec833b0.png)
![12a64fd316b66d42534ee8e0cff3a51c.png](https://img-blog.csdnimg.cn/img_convert/12a64fd316b66d42534ee8e0cff3a51c.png)
第二部分讲的是MyBatis原理,我们将深入源码去理解MyBatis的内部运行原理以及插件的开发方法和技巧。
第6章:介绍MyBatis的解析和运行原理,我们将了解到SqlSession的构建方法,以及其四大对象是如何工作的。
第七章在第6章的基础上着重介绍MyBatis的插件,这里我们将学习插件的设计原理,以及开发方法和注意的要点。
![31a1c1a5083b4dfba4d6a77f64d8c266.png](https://img-blog.csdnimg.cn/img_convert/31a1c1a5083b4dfba4d6a77f64d8c266.png)
内容展示:
![bd5e85746884dc4d6e6c557d0a983d18.png](https://img-blog.csdnimg.cn/img_convert/bd5e85746884dc4d6e6c557d0a983d18.png)
![5a1d3cc5f8e6a37a256da989e357e80c.png](https://img-blog.csdnimg.cn/img_convert/5a1d3cc5f8e6a37a256da989e357e80c.png)
第三部分是MyBatis的实战应用,主要讲解MyBatis的一些实用的场景。
第8章:介绍MyBatis-Spring,主要讲解如何在Spring项目中集成MyBatis应用,帮助读者在Spring的环境中顺利使用MyBatis.
第9章:介绍MyBatis的实用场景,精选- ~批典 型且又常用的场景。详细解析每一个场景下,开发人员需要注意避免的一些错误和性能上的损失。
![553fe23163b2c6283606f0eb8d31314f.png](https://img-blog.csdnimg.cn/img_convert/553fe23163b2c6283606f0eb8d31314f.png)
![1c83d74c109bd320f3bed0bc420ec30b.png](https://img-blog.csdnimg.cn/img_convert/1c83d74c109bd320f3bed0bc420ec30b.png)
![9ef554b2a910403dcafc6d127547e85e.png](https://img-blog.csdnimg.cn/img_convert/9ef554b2a910403dcafc6d127547e85e.png)
![1f3e0182c71198032f6b67935f3eb718.png](https://img-blog.csdnimg.cn/img_convert/1f3e0182c71198032f6b67935f3eb718.png)
![0d77aa95a849e1f89f9bf62e16caf790.png](https://img-blog.csdnimg.cn/img_convert/0d77aa95a849e1f89f9bf62e16caf790.png)
由于文档内容过于详细,篇幅较长,想深入学习Mybatis以及对文章所述全部内容感兴趣的朋友,可关注小编+转发文章后私信关键词【源码】即可获得资料免费下载方式。