废话不多说,直接进入文章。
我们在使用Mybatis的时候,会在xml中编写SQL语句。如图:
那么,MyBatis底层是如何构造sql,写了接口为啥就能执行sql?
下面带着这个疑问我们一步步分析。
梳理MyBatis的设计思路- 创建SqlSessionFactory实例
- 实例化过程中,加载配置文件创建configuration对象
- 通过factory创建SqlSession
- 通过SqlSession获取mapper接口动态代理
- 动态代理回调sqlsession中某查询方法
- SqlSession将查询方法转发给Executor
- Executor基于JDBC访问数据库获取数据
- Executor通过反射将数据转换成POJO并返回;给SqlSession
- 将数据返回给调用者
- 初始化阶段:读取XML配置文件和注解中的配置信息,创建解析对象,并完成各个模块的初始化工作。就是把我们的配置文件加载到内存里面去。在sqlSession初始化的时候加载到内存中去的。
- 代理阶段:封装iBatis的编程模型,使用mapper接口开发的初始化工作;
- 数据读写阶段:通过SqlSession完成SQL的解析,参数的映射,SQL的执行,结果的反射解析过程。
国内图书市场上没有介绍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”即可获得免费领取方式!