谈起 MyBatis,我先提个问:什么是 MyBatis?
MyBatis 是反对定制化 SQL、存储过程以及高级映射的优良的长久层框架。MyBatis 防止了简直所有的 JDBC 代码和手动设置参数以及获取后果集。MyBatis 能够对配置和原生 Map 应用简略的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects, 一般的 Java 对象) 映射成数据库中的记录 …
而明天咱要聊的就是 Alibaba 珍藏版 mybatis 手写文档,刷到的敌人真香正告呀!
申明:篇幅无限,Alibaba 珍藏版 mybatis 手写文档还有一些面试解析 + 脑图等等,说的都不是很认真,但可分享源文档给刷到此文的敌人, 收藏刷起来(点击下载)!
珍藏版(1)——Mybatis 入门
1. 什么是 MyBatis
2. 为什么咱们要用 Mybatis?
3.Mybatis 疾速入门
- 3.1 导入开发包
- 3.2 筹备测试工作
- 3.3 创立 mybatis 配置文件
- 3.4 编写工具类测试是否获取到连贯
- 3.5 创立实体与映射关系文件
- 3.6 编写 DAO
4.Mybatis 工作流程
5. 实现 CRUD 操作
- 5.1 减少学生
- 5.2 依据 ID 查问数据
- 5.3 查问所有数据
- 5.4 依据 id 删除
- 5.5 批改
- 5.6 小细节
- 5.7 Mybatis 分页
6. 动静 SQL
- 6.1 动静查问
- 6.2 动静更新
- 6.3 动静删除
- 6.4 动静插入
7. 入门总结
珍藏版(2)——Mybatis 配置信息
1. 映射文件
- 1.1 占位符
- 1.2 主键生成策略
- 1.2.1 UUID
- 1.3 主键返回
- 1.4 resultMap
- 1.5 resultMap 和 resultType 区别
- 1.6 应用 resultMap
- 1.7 resultType 和 resultMap 用法总结
- 1.8 Mybatis 映射文件解决特殊字符
2. 配置文件
- 2.1 别名
- 2.2 Mapper 加载
- 2.3 提早加载
- 2.4 提早加载测试
3. 配置相干总结
珍藏版(3)——关联映射
1.Mybatis【多表连贯】
1.1—对一
- 1.1.1 设计表
- 1.1.2 实体
- 1.1.3 映射文件
- 1.1.4 DAO 层
1.2—对多
- 1.2.1 设计数据库表
- 1.2.2 实体
- 1.2.3 映射文件 SQL 语句
- 1.2.4 DAO
1.3 多对多
- 1.3.1 数据库表
- 1.3.2 实体
- 1.3.3 映射文件
- 1.3.4 DAO
2. 关联映射总结
珍藏版(4)——缓存 +Mapper 代理 + 逆向工程
1. 前言
2.Mybatis 缓存
- 2.1 Mybatis—级缓存
- 2.2 Mybatis 二级缓存
- 2.3 Mybatis 二级缓存配置
- 2.4 查问后果映射的 pojo 序列化
- 2.5 禁用二级缓存
- 2.6 刷新缓存
- 2.7 理解军 Mybatis 缓存的—些参
3.mybatis 和 ehcache 缓存框架整合
- 3.1 整合 jar 包
- 3.2 ehcache.xml 配置信息
- 3.3 利用场景与局限性
- 3.3.1 利用场景
- 3.3.2 局限性
4.Mapper 代理形式
- 4.1 Mapper 开发标准
- 4.2 Mapper 代理返回值问题
5.Mybatis 解决 JDBC 编程的问题
6.Mybatis 逆向工程
- 6.1 批改 pom.xml 文件
- 6.2 generatorConfig.xml 配置文件
- 6.3 应用插件步骤
- 6.4 最初生成代码
珍藏版(5)——Mybatis 整合 Spring
1.Mybatis 与 Spring 整合
- 1.1 导入 jar 包
- 1.2 创立表
- 1.3 创立实体
- 1.4 创立实体与表的映射文件
- 1.5 创立 Mybatis 映射文件配置环境
- 1.6 配置 Spring 外围过滤器【也是加载总配置文件】
- 1.7 配置数据库信息、事务
- 1.8 创立 Dao、Service、Action
- 1.9 JSP 页面测试
2. 总结
手把手教你整合开发 MyBatis-Spring 我的项目——《深入浅出 MBati 技术原理与实战》
《深入浅出 MBati 技术原理与实战》总共是分为三大部分:
第一局部是 MyBatis 根底利用,次要介绍如何高效地应用 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 面试——收整了最常见的一些问题并附上解析
- 1. 为什么须要预编译?
- 2.Mybatis 都有哪些 Executor 执行器?它们之间的区别是什么?
- 3.Mybatis 中如何指定应用哪一种 Executor 执行器?
- 4.Mybatis 是否反对提早加载?如果反对,它的实现原理是什么?
- 5.# {} 和 ${} 的区别?
- 6. 含糊查问 like 语句该怎么写?
- 7. 在 mapper 中如何传递多个参数?
- 8.Mybatis 如何执行批量操作?
- 9. 如何取得生成的主键?
- 10. 当实体类中的属性名和表中的字段名不一样,怎么办
- 11.Mapper 编写有哪几种形式?
- 12. 什么是 MyBatis 的接口绑定?有哪些实现形式?
- 13. 应用 MyBatis 的 mapper 接口调用时有哪些要求?
- 14. 最佳实际中,通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的办法,参数不同时,办法能重载吗?
- 15.Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否能够反复?
- 16. 简述 Mybatis 的 Xml 映射文件和 Mybatis 外部数据结构之间的映射关系?
- 17.Mybatis 是如何将 sql 执行后果封装为指标对象并返回的?都有哪些映射模式?
- 18.MyBatis 中所有标签?
- 19.MyBatis 实现一对一,一对多有几种形式,怎么操作的?
- 20.Mybatis 是否能够映射 Enum 枚举类?
- 21.Mybatis 动静 sql 是做什么的?都有哪些动静 sql?能简述一下动静 sql 的执行原理不?
- 22. 分页形式?
- 23. 简述 Mybatis 的插件运行原理,以及如何编写一个插件?
- 24.Mybatis 的一级、二级缓存?
- 25.pageHelper 原理?
对于解析,我曾经全副整顿,并手绘了一份 xmind 导图,如下(和盘托出):
最初:学习总结——MyBtis 常识脑图(纯手绘 xmind 文档)
学完之后,若是想验收成果如何,其实最好的办法就是可本人去总结一下。比方我就会在学习完一个货色之后本人去手绘一份 xmind 文件的常识梳理纲要脑图,这样也可不便后续的温习,且都是本人的了解,置信轻易瞟几眼就能迅速过残缺个常识,脑补回来。下方即为我手绘的 MyBtis 常识脑图,因为是 xmind 文件,不好上传,所以小编将其以图片模式导出来传在此处,细节方面不是特地清晰。但可给感兴趣的敌人提供残缺的 MyBtis 常识脑图原件(包含上方的面试解析 xmind 文档)
除此之外,前文所提及的 Alibaba 珍藏版 mybatis 手写文档以及一本小小的 MyBatis 源码剖析文档——《MyBatis 源码剖析》等等相干的学习笔记文档,也皆可分享给认可的敌人!
——感激大家伙的认可反对,Free Download(点击),请留神!