MyBatis面试题(2020最新版)

目录

    • MyBatis简介
      • MyBatis是什么?
      • ORM是什么
      • 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
      • 传统JDBC开发存在的问题
      • JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?
      • Mybatis优缺点
      • MyBatis框架适用场景
      • Hibernate 和 MyBatis 的区别
    • MyBatis的解析和运行原理
      • MyBatis编程步骤是什么样的?
      • 请说说MyBatis的工作原理
      • MyBatis的功能架构是怎样的
      • MyBatis的框架架构设计是怎么样的
      • 为什么需要预编译
      • Mybatis都有哪些Executor执行器?它们之间的区别是什么?
      • Mybatis中如何指定使用哪一种Executor执行器?
      • Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
    • 映射器
      • #{}和${}的区别
      • 模糊查询like语句该怎么写
      • 在mapper中如何传递多个参数
      • Mybatis如何执行批量操作
      • 如何获取生成的主键
      • 当实体类中的属性名和表中的字段名不一样 ,怎么办
      • Mapper 编写有哪几种方式?
      • 什么是MyBatis的接口绑定?有哪些实现方式?
      • 使用MyBatis的mapper接口调用时有哪些要求?
      • 最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗
      • Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?
      • 简述Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系?
      • Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?
      • Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?
      • Mybatis映射文件中,如果A标签通过include引用了B标签的内容,请问,B标签能否定义在A标签的后面,还是说必须定义在A标签的前面?
    • 高级查询
      • MyBatis实现一对一,一对多有几种方式,怎么操作的?
      • Mybatis是否可以映射Enum枚举类?
    • 动态SQL
      • Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不?
    • 插件模块
      • Mybatis是如何进行分页的?分页插件的原理是什么?
      • 简述Mybatis的插件运行原理,以及如何编写一个插件。
    • 缓存
      • Mybatis的一级、二级缓存

MyBatis面试题(2020最新版)_第1张图片

MyBatis简介

MyBatis是什么?

在这里插入图片描述

ORM是什么

在这里插入图片描述

为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?

在这里插入图片描述

传统JDBC开发存在的问题

MyBatis面试题(2020最新版)_第2张图片

JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?

MyBatis面试题(2020最新版)_第3张图片

Mybatis优缺点

MyBatis面试题(2020最新版)_第4张图片

MyBatis框架适用场景

在这里插入图片描述

Hibernate 和 MyBatis 的区别

MyBatis面试题(2020最新版)_第5张图片

MyBatis的解析和运行原理

MyBatis编程步骤是什么样的?

MyBatis面试题(2020最新版)_第6张图片

请说说MyBatis的工作原理

在这里插入图片描述
MyBatis面试题(2020最新版)_第7张图片

MyBatis的功能架构是怎样的

JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。
MyBatis面试题(2020最新版)_第8张图片

MyBatis的框架架构设计是怎么样的

MyBatis面试题(2020最新版)_第9张图片
MyBatis面试题(2020最新版)_第10张图片

为什么需要预编译

数据库管理系统(Database Management System)
MyBatis面试题(2020最新版)_第11张图片

Mybatis都有哪些Executor执行器?它们之间的区别是什么?

MyBatis面试题(2020最新版)_第12张图片

Mybatis中如何指定使用哪一种Executor执行器?

在这里插入图片描述

Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?

MyBatis面试题(2020最新版)_第13张图片

映射器

#{}和${}的区别

MyBatis面试题(2020最新版)_第14张图片

模糊查询like语句该怎么写

MyBatis面试题(2020最新版)_第15张图片

在mapper中如何传递多个参数

MyBatis面试题(2020最新版)_第16张图片

Mybatis如何执行批量操作

MyBatis面试题(2020最新版)_第17张图片
MyBatis面试题(2020最新版)_第18张图片

如何获取生成的主键

MyBatis面试题(2020最新版)_第19张图片

当实体类中的属性名和表中的字段名不一样 ,怎么办

MyBatis面试题(2020最新版)_第20张图片

Mapper 编写有哪几种方式?

MyBatis面试题(2020最新版)_第21张图片

什么是MyBatis的接口绑定?有哪些实现方式?

MyBatis面试题(2020最新版)_第22张图片

使用MyBatis的mapper接口调用时有哪些要求?

MyBatis面试题(2020最新版)_第23张图片

最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗

MyBatis面试题(2020最新版)_第24张图片

Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?

MyBatis面试题(2020最新版)_第25张图片

简述Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系?

MyBatis面试题(2020最新版)_第26张图片

Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?

MyBatis面试题(2020最新版)_第27张图片

Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?

MyBatis面试题(2020最新版)_第28张图片

Mybatis映射文件中,如果A标签通过include引用了B标签的内容,请问,B标签能否定义在A标签的后面,还是说必须定义在A标签的前面?

MyBatis面试题(2020最新版)_第29张图片

高级查询

MyBatis实现一对一,一对多有几种方式,怎么操作的?

MyBatis面试题(2020最新版)_第30张图片

Mybatis是否可以映射Enum枚举类?

MyBatis面试题(2020最新版)_第31张图片

动态SQL

Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不?

MyBatis面试题(2020最新版)_第32张图片

插件模块

Mybatis是如何进行分页的?分页插件的原理是什么?

MyBatis面试题(2020最新版)_第33张图片

简述Mybatis的插件运行原理,以及如何编写一个插件。

MyBatis面试题(2020最新版)_第34张图片

缓存

Mybatis的一级、二级缓存

crud是指在做计算处理时的增加(Create)、读取(Retrieve)、更新(Update)和删除(Delete)
MyBatis面试题(2020最新版)_第35张图片

原文链接:https://thinkwon.blog.csdn.net/article/details/101292950

你可能感兴趣的:(能力提升,java,java,mybatis,面试)