迄今为止把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 的学习文档

总目录

需要这份资料“电子版”的朋友可以点击【免费获取《Mybatis》】即可免费获取这份 Mybatis 的学习文档

原文地址:https://blog.51cto.com/14230003/2473602

时间: 2024-10-13 22:41:03

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

mybatis学习笔记(六) -- maven+spring+mybatis从零开始搭建整合详细过程(下)

继续 mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上) 五.使用监听器启动Spring容器 1.修改pom.xml文件,添加Spring-web 2.修改web.xml,配置启动Spring容器 3.新建BookServer 4.新建BookServlet 5.修改ApplicationContext.xml 6.测试 继续!!! 五.使用监听器启动Spring容器 1.修改pom.xml,添加Spring-web包(注:上一篇中的pom

SpringCloud+MyBatis+Redis整合—— 超详细实例(二)

2.SpringCloud+MyBatis+Redis redis是一种nosql数据库,以键值对<key,value>的形式存储数据,其速度相比于MySQL之类的数据库,相当于内存读写与硬盘读写的差别,所以常常用作缓存,用于少写多读的场景下,直接从缓存拿数据比从数据库(数据库要I/O操作)拿要快得多. 话不多说,接下来紧接上一章<SpringCloud+MyBatis+Redis整合-- 超详细实例(一)>搭建SpringCloud+MyBatis+Redis环境: 第一步:在p

MySQL:迄今为止讲解的最详细的一篇,掌握数据库其实很容易

关于程序员,除了做项目.看视频来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!MySQL俨然已经成为了IT技术人员必须掌握的核心技能之一! <MySQL从入门到精通> 本书详细介绍了如何安装.管理.备份.维护和优化一个 MySQL 系统.对于每一件服务器操作都提出了多种的解决方案.对于每一种的方法,虽然不一定都是非常实用的方法,读者能通过这些方法,熟悉 MySQL 的特点和强大的功能. 第一章简单介绍了 MySQL 的历史.特点,同时对 SQL 的语法进行了简单的介绍.如果读

Mybatis与Hibernate的详细对比

第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好Hibernate. 比起两者的开发速度,不仅仅要考虑到两者的特性及性能,更要根据项目需求去考虑究竟哪一个更适合项目开发,比如:一个项目中用到的复杂查询基本没有,就是简单的增删改查,这样选择hibernate效率就很快了,因为基本的sql语句已经被封装好了,根本不需要你去写sql语句,这就节省了大量的

【持久化框架】Mybatis与Hibernate的详细对比

前言 Mybatis与Hibernate对比 简介 开发速度 数据库移植性 缓存机制对比 两者对比总结 一句话总结 前言 这篇博文我们重点分析一下Mybatis与Hibernate的区别,当然在前面的博文中我们已经深入的研究了Mybatis和Hibernate的原理. Mybatis [持久化框架]Mybatis简介与原理 [持久化框架]SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载 Hibernate [SSH进阶之路]Hibernate基本原理(一)

mybatis讲解

1.  #{}和${} #{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换,#{}可以有效防止sql注入. #{}可以接收简单类型值或pojo属性值. 如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称. Mybatis使用ognl表达式解析对象字段的值,#{}或者${}括号中的值为pojo属性名称.如果pojo属性里有对象,想获得属性对象的属性,则使用对象.属性赋值.如:#{

mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)

文章介绍结构一览 一.使用maven创建web项目 1.新建maven项目 2.修改jre版本 3.修改Project Facts,生成WebContent文件夾 4.将WebContent下的两个文件复制到src/main/webapp下,删掉WebContent 5.修改Deployment Assembly 6.测试 二.mybatis访问mysql 1.数据库准备 2.修改pom.xml 3.创建实体类 4.创建访问接口 5.添加映射文件 6.添加MyBatisCfg.xml配置文件,注

[转]SSM(Spring+SpringMVC+Mybatis)框架搭建详细教程【附源代码Demo】

一.新建项目 运行IDEA,进入初始化界面,然后我们选择新建项目(进入主界面新建项目也是一样的) 在Maven选项卡里面找到对应的java web选项,然后我们点下一步 这一步填入组织等信息,这里比较随意,按照自己的需求进行填写,然后下一步 这里我早已配置好本地Maven仓库,因此直接默认即可.如果没进行配置本地默认仓库的话,请网上查找对应的资料进行配置 输入Project name,和需要保存的路径,然后finish 去泡一杯咖啡吧,这里需要一小段时间哦~ 稍等片刻,idea已经为我们自动建好

【转】ETL讲解(很详细!!!)

ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库的过程,目的是将企业中的分散.零乱.标准不统一的数据整合到一起,为企业的决策提供分析依据. ETL是BI项目重要的一个环节. 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败. ETL的设计分三部分:数据抽取.数据的清洗转换.数据的加载.在设计ETL的时候我们也是从这三部分出发.数据的抽取是从各个不同的数据源抽 取到ODS(Operational Data Store,操作型数据存储