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/20210703/1625308122710898.jpg)
**3、Mybatis快速入门**
* 导入开发包
* 准备测试工作
* 创建mybatis配置文件
* 编写工具类测试是否获取到连接
* 创建实体与映射关系文件
* 编写DAO
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308123676985.jpg)
**4、Mybatis工作流程**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308123167181.jpg)
**5、完成CRUD操作**
* 增加学生
* 2根据ID查询数据
* 查询所有数据
* 根据id删除
* 修改
* 小细节
* Mybatis分页
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308123137175.jpg)
**6、动态SQL**
* 动态查询
* 动态更新
* 动态删除
* 动态插入
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308124287339.jpg)
# Mybatis配置信息
**1、映射文件**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308124534630.jpg)
**2、配置文件**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308125960474.jpg)
# 关联映射
**Mybatis【多表连接】**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308125415289.jpg)
# 缓存+Mapper代理+逆向工程
**1、Mybatis缓存**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308125464506.jpg)
**2、mybatis和ehcache缓存框架整合**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308126158301.jpg)
**3、Mapper代理方式**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308126987005.jpg)
**4、Mybatis解决JDBC编程的问题**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308126293019.jpg)
**5、Mybatis逆向工程**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308127662464.jpg)
# Mybatis整合Spring
**1、Mybatis与Spring整合**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308127207529.jpg)
# Mybatis常见面试题
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308128476540.jpg)
# Mybatis源码——入门
* **为什么要使用MyBatis**
* **如何使用MyBatis**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308128772506.jpg)
# Mybatis源码——配置文件解析过程
**配置文件解析过程分析**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308128157978.jpg)
# Mybatis源码——映射文件解析过程
**1、映射文件解析解析入口**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308128897967.jpg)
**2、解析映射文件**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308129982413.jpg)
**3、Mapper接口绑定过程分析**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308129462544.jpg)
**4、处理未完成解析的节点**
![硬核!阿里内部消化的Mybatis学习笔记,简短却精悍,全是重点](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308130173884.jpg)
# Mybatis源码——SQL执行流程
**1、SQL执行入口**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308130584296.jpg)
**2、查询语句的执行过程**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308130739626.jpg)
**3、更新语句的执行过程**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308130472639.jpg)
**4、SQL执行过程总结**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308131105027.jpg)
# Mybatis源码——内置数据源
**1、内置数据源初始化过程**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308131272685.jpg)
**2、UnpooledDataSource**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308131109379.jpg)
**3、PooledDataSource**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308132224356.jpg)
# Mybatis源码——缓存机制
**1、缓存类介绍**
**2、CacheKey**
**3、一级缓存**
**4、二级缓存**
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308132914741.jpg)
# Mybatis源码——插件机制
* 插件机制原理
* 实现一个分页插件
![](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308132662550.jpg)
#
# 面试准备+复习资料分享:
> 为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦,有需要的可以来找我获取哈
**[获取方式:点击蓝色字体即可免费获取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)**
![秋招|美团java一面二面HR面面经,分享攒攒人品](http://www.icode9.com/i/li/?n=2&i=images/20210703/1625308133711732.jpg)
标签:知识点,Java,20210703,网盘,https,images,cto,com,s2.51 来源: https://blog.51cto.com/u_15291849/2973339