写点什么

迄今为止把 Mybatis 讲解的最详细的 PDF,图文并茂,通俗易懂

作者:冉然学Java
  • 2022 年 8 月 15 日
    湖南
  • 本文字数:1289 字

    阅读完需:约 4 分钟

迄今为止把Mybatis讲解的最详细的PDF,图文并茂,通俗易懂

废话不多说,直接进入文章。

我们在使用 MyBatis 的时候,会在 xml 中编写 sql 语句。如图:



那么,MyBatis 底层是如何构造 sql,写了接口为啥就能执行 sql?

下面带着这个疑问我们一步步分析。

梳理 MyBatis 的设计思路

  • 创建 SqlSessionFactory 实例

  • 实例化过程中,加载配置文件创建 configuration 对象

  • 通过 factory 创建 SqlSession

  • 通过 SqlSession 获取 mapper 接口动态代理

  • 动态代理回调 sqlsession 中某查询方法

  • SqlSession 将查询方法转发给 Executor

  • Executor 基于 JDBC 访问数据库获取数据

  • Executor 通过反射将数据转换成 POJO 并返回;给 SqlSession

  • 将数据返回给调用者

MyBatis 三大核心阶段

  • 初始化阶段:读取 XML 配置文件和注解中的配置信息,创建解析对象,并完成各个模块的初始化工作。就是把我们的配置文件加载到内存里面去。在 sqlSession 初始化的时候加载到内存中去的。

  • 代理阶段:封装 iBatis 的编程模型,使用 mapper 接口开发的初始化工作;

  • 数据读写阶段:通过 SqlSession 完成 SQL 的解析,参数的映射,SQL 的执行,结果的反射解析过程。


如何深入学习 MyBtis 框架?

国内图书市场上没有介绍 Mybatis 的书籍,有的只是官方的 API 和少数的几篇博客文章,国外图书市场上的这类书籍也是凤毛麟角,这使得系统学习 Mybatis 困难重重。官方的 API 只是简单介绍了 Mybatis 有些什么功能和一些基本的使用方法,没有告诉我们如何用好,其中原理是什么,需要注意哪些问题,这显然是不够的。

小编准备的这份《深入浅出 Mybatis 技术原理与实战》,书中从 Mybatis 的基础运用、到理解源码、再到实战运用,循序渐进,一步步为大家剖析 Mybatis 框架的设计理念和原理,并对框架的重点功能和模块进行了逐一讲解。

此文档共分为三大部分,九个章节


第一部分是 Mybaits 基础应用,主要介绍如何高效使用 Mybatis

第 1 章:Mybatis 的内容简介,告诉读者 Mybatis 是什么,在何种场景下使用它。第 2 章:主要介绍 Mybatis 的基础模块及其生命周期,并给出实例.第 3 章:主要介绍 Mybatis 配置的主要含义和内容。第 4 章:介绍 Mybatis 映射器的主要元素及其使用方法。第 5 章:介绍动态 SQL,助你轻松应对大部分的 SQL 场景。


第二部分是 Mybatis 原理,我们将深入源码去理解 Mybatis 的内部运行原理以及插件的开发方法和技巧


第 6 章:介绍 Mybatis 的解析和运行原理,我们将了解到 SqlSession 的构建方法,以及其四大对象是如何工作的第 7 章:在第 6 章的基础上着重介绍 Mybatis 的插件,这里我们将学习到插件的设计原理,以及开发方法和注意的要点


第三部分是 Mybatis 的实战应用,主要讲解 Mybatis 的一些实用的场景

第 8 章:介绍 Mybatis-Spring,主要讲解在 Spring 项目中集成 Mybatis 应用,帮助读者在 Spring 的环境中顺利使用 Mybatis。第 9 章:介绍 Mybatis 的实用场景,精选一批典型且又常用的场景。详细解析每一个场景下,开发人员需要注意避免的一些错误和性能上的损失。

这本书是迄今为止对 Mybatis 讲解的最详细,最全面,最理论结合实践的 Mybatis 资料。而且图文并茂,理论结合实战,通俗易懂。

目录大纲

由于目录太多,这里只截取部分的目录内容。需要这本书的“电子版”资料的小伙伴,点击此处【Mybatis,即可免费·领取!






总目录



需要这本书的“电子版”资料的小伙伴,点击此处【Mybatis】,即可免费领取!

用户头像

冉然学Java

关注

还未添加个人签名 2022.07.07 加入

努力学好Java、爱生活、爱旅游的冉冉; 分享自己工作上的经验,交流、共进步、共成长!

评论

发布
暂无评论
迄今为止把Mybatis讲解的最详细的PDF,图文并茂,通俗易懂_Java_冉然学Java_InfoQ写作社区