Java面试复习重点:三面腾讯,已拿offer

骑猪看日落 2021-07-20 15:23 520阅读 0赞

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?

913a5f3eb2baa0ef676b9b3e21cf0303.png

3、Mybatis快速入门

  • 导入开发包
  • 准备测试工作
  • 创建mybatis配置文件
  • 编写工具类测试是否获取到连接
  • 创建实体与映射关系文件
  • 编写DAO

71e249d7cc2fc6248de42f4ec0764973.png

4、Mybatis工作流程

b2ed248e0820711f7d1100d31171a683.png

5、完成CRUD操作

  • 增加学生
  • 2根据ID查询数据
  • 查询所有数据
  • 根据id删除
  • 修改
  • 小细节
  • Mybatis分页

2d80c4909a42798205c916c5401acfb8.png

6、动态SQL

  • 动态查询
  • 动态更新
  • 动态删除
  • 动态插入

4382d065a82a12dd5d9a78e9357c2961.png

Mybatis配置信息

1、映射文件

6c65698061189720b7b2364a39ea544e.png

2、配置文件

d3eeb96603fdfe6c15d1d74bb5c3ae42.png

关联映射

Mybatis【多表连接】

3137fe2d08fdbb64923042306c01419a.png

缓存+Mapper代理+逆向工程

1、Mybatis缓存

74c0b001c8cdbb49f564900ab1d5bcf7.png

2、mybatis和ehcache缓存框架整合

366ae4db0b998a09f8ce5b18f749928c.png

3、Mapper代理方式

f1514f542538099f9f6a6a397388f10c.png

4、Mybatis解决JDBC编程的问题

aed4193a85cb039244b50e8208c9d37c.png

5、Mybatis逆向工程

412c48450b86eba1aaeaf8617c0231ac.png

Mybatis整合Spring

1、Mybatis与Spring整合

9f6c9ed3dba0078c3fed6376cecb6332.png

Mybatis常见面试题

cca9faa9f9ef79ea60b9490b3962f9a6.png

Mybatis源码——入门

  • 为什么要使用MyBatis
  • 如何使用MyBatis

072ca16674153e17f896147fcdec8a0f.png

Mybatis源码——配置文件解析过程

配置文件解析过程分析

98915a67d1f88b3aaf0de346b3d4a5c1.png

Mybatis源码——映射文件解析过程

1、映射文件解析解析入口

cdf23d02c4e63e4c435579066c558edc.png

2、解析映射文件

bf43df36f0d6191c4a82d9c831cb2815.png

3、Mapper接口绑定过程分析

97d423bfdd008e797d05a1d0dfd03388.png

4、处理未完成解析的节点

硬核!阿里内部消化的Mybatis学习笔记,简短却精悍,全是重点

Mybatis源码——SQL执行流程

1、SQL执行入口

edfb711e69ba78bb736abd91ff5b41c9.png

2、查询语句的执行过程

9b56883996d52ddfe938a2b1686c5951.png

3、更新语句的执行过程

758b535c013f0c67d41a3ca0b0250a25.png

4、SQL执行过程总结

67ce3519c294376acfde5c8f0fcad124.png

Mybatis源码——内置数据源

1、内置数据源初始化过程

d74ec02d53d2ee2516279553edf91fd2.png

2、UnpooledDataSource

ee852bc9ede856355a6a8fa1d8ee7f7f.png

3、PooledDataSource

4dd1f230ce0635c41c7c539933564fc2.png

Mybatis源码——缓存机制

1、缓存类介绍

2、CacheKey

3、一级缓存

4、二级缓存

d053abd1ceba91fed1fb9c1c9f1d50ab.png

Mybatis源码——插件机制

  • 插件机制原理
  • 实现一个分页插件

23726cffd8066f8097967410b5058011.png

#

总结

面试前的“练手”还是很重要的,所以开始面试之前一定要准备好啊,不然也是耽搁面试官和自己的时间。

我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

下面我就把我整理的面试资料分享给有需要的读者朋友——戳这里免费获取

面试题及解析总结

三年Java开发,刚从美团、京东、阿里面试归来,分享个人面经

大厂面试场景

三年Java开发,刚从美团、京东、阿里面试归来,分享个人面经

知识点总结

面试资料分享给有需要的读者朋友——戳这里免费获取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)\*\*

面试题及解析总结

[外链图片转存中…(img-4v3ydh8k-1625473026399)]

大厂面试场景

[外链图片转存中…(img-x0vEHIQM-1625473026400)]

知识点总结

三年Java开发,刚从美团、京东、阿里面试归来,分享个人面经

发表评论

表情:
评论列表 (有 0 条评论,520人围观)

还没有评论,来说两句吧...

相关阅读