面试大厂被 MyBatis 源码问到“哑口无言”?这份《MyBatis 源码学习笔记 + 面试真题》助你吊打面试官!
写在前面
随着手机、平板电脑等移动终端的广泛应用,移动互联网时代已经到来。在这个时代里,构建一个高效的平台并提供服务是移动互联网的基础,在众多的网站服务中,使用Java构建网站的不在少数,移动互联网的特点是大数据、高并发、对服务器往往要求分布式、高性能、高灵活等,而传统模式的Java数据库编程框架已经不在使用了。在这样的背景下,一个Java的持久框架MyBaits走入了我们的世界,它以封装少、高性能、可优化、维护简易等优点成为了目前Java移动互联网网站服务的首选持久框架,它特别适合分布式和大数据网络数据库的编程。
今天免费给大家分享一份阿里大牛纯手写的MyBatis源码笔记还有思维导图,希望大家领取到笔记后能够多看多学多实践,不要丢到收藏夹里面吃灰!
领取方式:一键三连+评论,然后添加VX(tkzl6666)即可免费领取【MyBatis源码笔记与思维导图】的免费领取方式。
MyBatis源码笔记
Mybatis入门
1. 什么是MyBatis
2. 为什么我们要用Mybatis?
3. Mybatis快速入门
4. Mybatis操作流程
5. 完成CRUD操作
6. 动态SQL
7. 入门总结
![](https://static001.geekbang.org/infoq/3e/3ea30aa07c0c86c062c9fe7a703fe7e3.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
Mybatis配置信息
1. 映射文件
2. 配置文件
3. 配置相关总结
![](https://static001.geekbang.org/infoq/39/3966db0b313c3d4a89a3d83e7ff8a419.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
关联映射
1. Mybatis【多表连接】
2. 关联映射总结
![](https://static001.geekbang.org/infoq/6c/6c2ae741329973ff2e2b024ba8792814.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
缓存+Mapper代理+逆向工程
1. 前言
2. Mybatis缓存
3.mybatis和ehcache缓存框架整合
4. Mapper代理方式
5. Mybatis解决JDBC编程的问题
6.Mybatis逆向工程
7.本章总结
![](https://static001.geekbang.org/infoq/d1/d1492470de68f7d1ecaa74debd2068a7.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
Mybatis整合Spring
1. Mybatis与Spring整合
2. 总结
![](https://static001.geekbang.org/infoq/64/64d48ca4ef0bf1232dc98c16d07ee7fa.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
Mybatis常见面试题
1. #{}和${} 的区别是什么?
2.当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
3. 如何获取自动生成的(主)键值?
4. 在mapper中如何传递多个参数?
5. Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不?
6. Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?
7. 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
8. 通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?
9. Mybatis比IBatis比较大的的个改进是什么
10. 接口绑定有几种实现方式,分别是怎么实现的?
11. Mybatis是如何进行分页的?分别插件的原理是什么?
12. 简述Mybatis的插件运行原理,以及如何编写一个插件
13. Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
14. Mybatis都有哪些Executor执行器?它们之间的区别是什么?
15. MyBatis与Hibernate有哪些不同?
![](https://static001.geekbang.org/infoq/48/48a17c2044068e957f4abe0942f07ed2.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
领取方式:一键三连+评论,然后添加VX(tkzl6666)即可免费领取【MyBatis源码笔记与思维导图】。
MyBatis思维导图
MyBatis简介
![](https://static001.geekbang.org/infoq/63/6303cca23287c04882fae41af807aa6c.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
映射文件
![](https://static001.geekbang.org/infoq/61/6112028a0c0df93f3fbc4fc734b494e1.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
映射关系
![](https://static001.geekbang.org/infoq/7c/7cf251f62696c6b4beb70dec23567864.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
Mapper代理
![](https://static001.geekbang.org/infoq/a4/a41fb1809276ff0a037803b334ade56b.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
逆向工程
![](https://static001.geekbang.org/infoq/81/813c1e9b44f2b4cbfc5bf12845db0036.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
缓存
![](https://static001.geekbang.org/infoq/0a/0a8e681420796fd8d1c60160952e0814.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
主配置文件
![](https://static001.geekbang.org/infoq/0c/0c9be80d221afda7bd339d9c823496c0.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
快速入门
![](https://static001.geekbang.org/infoq/f2/f2c6083d640eec7c2314679d36f47f4b.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
评论 (1 条评论)