OMG!java期末知识点总结网盘
作者:互联网
# Mybatis入门
**1、什么是Mybatis?**
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
**2、为什么要用Mybatis?**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177533930379.jpg)
**3、Mybatis快速入门**
* 导入开发包
* 准备测试工作
* 创建mybatis配置文件
* 编写工具类测试是否获取到连接
* 创建实体与映射关系文件
* 编写DAO
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177533674281.jpg)
**4、Mybatis工作流程**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177534396200.jpg)
**5、完成CRUD操作**
* 增加学生
* 2根据ID查询数据
* 查询所有数据
* 根据id删除
* 修改
* 小细节
* Mybatis分页
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177534386805.jpg)
**6、动态SQL**
* 动态查询
* 动态更新
* 动态删除
* 动态插入
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177534577750.jpg)
# Mybatis配置信息
**1、映射文件**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177534855199.jpg)
**2、配置文件**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177534115205.jpg)
# 关联映射
**Mybatis【多表连接】**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177534343244.jpg)
# 缓存+Mapper代理+逆向工程
**1、Mybatis缓存**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177534940663.jpg)
**2、mybatis和ehcache缓存框架整合**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177535530871.jpg)
**3、Mapper代理方式**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177535302055.jpg)
**4、Mybatis解决JDBC编程的问题**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177535222575.jpg)
**5、Mybatis逆向工程**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177535971586.jpg)
# Mybatis整合Spring
**1、Mybatis与Spring整合**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177535257965.jpg)
# Mybatis常见面试题
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177535515325.jpg)
# Mybatis源码——入门
* **为什么要使用MyBatis**
* **如何使用MyBatis**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177535407316.jpg)
# Mybatis源码——配置文件解析过程
**配置文件解析过程分析**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177536431877.jpg)
# Mybatis源码——映射文件解析过程
**1、映射文件解析解析入口**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177536336705.jpg)
**2、解析映射文件**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177536115166.jpg)
**3、Mapper接口绑定过程分析**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177536946535.jpg)
**4、处理未完成解析的节点**
![硬核!阿里内部消化的Mybatis学习笔记,简短却精悍,全是重点](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177536759044.jpg)
# Mybatis源码——SQL执行流程
**1、SQL执行入口**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177536220445.jpg)
**2、查询语句的执行过程**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177537126620.jpg)
**3、更新语句的执行过程**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177537216259.jpg)
**4、SQL执行过程总结**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177537265298.jpg)
# Mybatis源码——内置数据源
**1、内置数据源初始化过程**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177537753784.jpg)
**2、UnpooledDataSource**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177538618862.jpg)
**3、PooledDataSource**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177538352800.jpg)
# Mybatis源码——缓存机制
**1、缓存类介绍**
**2、CacheKey**
**3、一级缓存**
**4、二级缓存**
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177538790431.jpg)
# Mybatis源码——插件机制
* 插件机制原理
* 实现一个分页插件
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177538218730.jpg)
#
**最后,附一张自己面试前准备的脑图:**
![image](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177538103400.jpg)
**面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典**
* Java核心知识整理
![image](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177539685021.jpg)
* Spring全家桶(实战系列)
![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177540238567.jpg)
**Step3:刷题**
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
**以下是我私藏的面试题库:**
![image](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625177540187681.jpg)
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
**资料领取方式:[Java全套学习手册](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)**
以上学习资料均免费分享,最后祝愿各位身体健康,顺利拿到心仪的offer!
标签:知识点,java,网盘,https,images,20210702,cto,com,s2.51 来源: https://blog.51cto.com/u_15289166/2966682