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简介

MyBatis是什么?

在这里插入图片描述

ORM是什么

在这里插入图片描述

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

在这里插入图片描述

传统JDBC开发存在的问题

在这里插入图片描述

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

在这里插入图片描述

Mybatis优缺点

在这里插入图片描述

MyBatis框架适用场景

在这里插入图片描述

Hibernate 和 MyBatis 的区别

在这里插入图片描述

MyBatis的解析和运行原理

MyBatis编程步骤是什么样的?

在这里插入图片描述

请说说MyBatis的工作原理

在这里插入图片描述
在这里插入图片描述

MyBatis的功能架构是怎样的

JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

为什么需要预编译

数据库管理系统(Database Management System)
在这里插入图片描述

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的一级、二级缓存

crud是指在做计算处理时的增加(Create)、读取(Retrieve)、更新(Update)和删除(Delete)
在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java学习笔记9-2——JavaWeb

文章目录JavaBeanMVC三层架构Filter过滤器Listener监听器JDBC文件上传Servlet邮件发送ServletJavaBean 实体类 JavaBean有特定的写法: 必须要有一个无参构造;属性必须私有化;必须有对应的get/set方法; 一般用来和数据库的字段…

linux日常常用命令分析

日志处理:测试网络路由: xargs使用方法:tcpdump命令分析:dd 写入磁盘测试cpu个数:查看网卡流量查看端口联通情况,临时加端口ntpdate同步:可以取出变动的密码:导堆栈:根据进程id查看程…

离散傅立叶变换

离散傅立叶变换 一维离散傅里叶变换 二维离散傅里叶变换(2D-DFT) 、图像傅里叶变换的意义 (1)简化计算,也即傅里叶变换可将空间域中复杂的卷 积运算转化为频率域中简单的乘积运算。 (2)对于某些在空间域中难于处理或…

[Leedcode][JAVA][第14题][最长公共前缀][二分][横竖扫描][分治]

【问题描述】[中等] 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"] 输出: "fl" 示例 2:输入: ["dog","raceca…

【模板】在build中配置resources来防止我们资源导出失败的问题

在build中配置resources&#xff0c;来防止我们资源导出失败的问题 <!--在build中配置resources&#xff0c;来防止我们资源导出失败的问题--><build><resources><resource><directory>src/main/resources</directory><includes><…

JDBC_设计架构_驱动类加载_建立Connection_效率测试

JDBC(Java DataBase Connection) 访问数据库流程&#xff1a;驱动管理器--连接数据库--sql语句--结果集 装载mysql驱动 Class.forName("com.jdbc.mysql.Driver"); DriverManager接口是JDBC的管理器&#xff0c;作用于用户和驱动程序之间。 Demo1.java package com.qh…

HDU-4793 Collision 计算几何 解方程

题意 给我们两个大小不同的圆的半径小圆是实心的 大圆是空心的 然后给我们一个小球的半径 小球的初始位置 还有飞碟在x方向和y方向上的速度 小球撞到内实心圆会能量不损失的反弹 问小球任何位置与大圆相交到完全出去的时间是多少 分析 几何题 如何知道时间呢 如果小球与大圆…

图像傅里叶变换频谱分析

图像的傅里叶频谱特性分析 图像傅里叶频谱关于(/&#xff0c;/)的对称性 图像傅里叶频谱特性及其频谱图 傅里叶变换在图像处理中的应用

[剑指offer]面试题第[37]题[Leedcode][JAVA][第297题][二叉树列的序列化与反序列化][递归][BFS]

【问题描述】[中等] 序列化是将一个数据结构或者对象转换为连续的比特位的操作&#xff0c;进而可以将转换后的数据存储在一个文件或者内存中&#xff0c;同时也可以通过网络传输到另一个计算机环境&#xff0c;采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列…

Java学习笔记10-1——MyBatis

文章目录简介第一个Mybatis程序搭建环境导入Mybatis&#xff0c;编写配置文件编写代码测试了解一下官方文档的建议实现增删改查select、insert、update、delete使用map进行CRUD模糊查询配置解析(mybatis-config.xml)核心配置文件mybatis-config.xml环境配置&#xff08;environ…

时间

//Step1: 定义任务函数: 计算当前时间距离target时间的时间差var targetnew Date("2019/3/01 18:00:00");function calc(){//获得当前系统时间保存在变量now中var nownew Date();//用target-now&#xff0c;再除1000&#xff0c;获得秒差&#xff0c;保存在变量s中va…

图像的离散余弦变换

Discrete Cosine Transform&#xff0c;简写为DCT 函数的偶对称性使DCT只有实数域变换结果, 不再涉及复数运算&#xff0c;运算简单&#xff0c;费时少&#xff1b; 又保持了变换域的频率特性&#xff1b; 与人类视觉系统特性相适应&#xff1b; 得到了更加广泛的应用。 二维…

【匈牙利算法】【二分图匹配】【转载】趣写算法系列之--匈牙利算法

转载自&#xff1a;http://blog.csdn.net/dark_scope/article/details/8880547 【书本上的算法往往讲得非常复杂&#xff0c;我和我的朋友计划用一些简单通俗的例子来描述算法的流程】 匈牙利算法是由匈牙利数学家Edmonds于1965年提出&#xff0c;因而得名。匈牙利算法是基于H…

Rest Framework

目录导航 一、RESTful 规范 二、APIView 组件 三、序列化组件 四、认证组件 五、权限组件 六、频率组件 七、分页器组件 一、RESTful 规范 什么是RESTful规范&#xff1a; REST与技术无关&#xff0c;代表的是一种软件架构风格&#xff0c;REST是Representational State Transf…

[剑指offer][JAVA]面试题第[26]题[树的子结构][递归]

【问题描述】[中等] 输入两棵二叉树A和B&#xff0c;判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构&#xff0c; 即 A中有出现和B相同的结构和节点值。例如: 给定的树 A:3/ \4 5/ \1 2 给定的树 B&#xff1a;4 /1 返回 true&#xff0c;因为 B 与…

二分图最大匹配的König定理及其证明

出处:http://www.matrix67.com/blog/archives/116 二分图最大匹配的Knig定理及其证明 如果你看不清楚第二个字母&#xff0c;下面有一个大号字体版本&#xff1a; 二分图最大匹配的Knig定理及其证明 本文将是这一系列里最短的一篇&#xff0c;因为我只打算把Knig定理证了…

【插件介绍】Lombok

Lombok ​ Lombok项目是一个Java库&#xff0c;它会自动插入编辑器和构建工具中&#xff0c;Lombok提供了一组有用的注释&#xff0c;用来消除Java类中的大量样板代码。仅五个字符(Data)就可以替换数百行代码从而产生干净&#xff0c;简洁且易于维护的Java类。 使用步骤&…

图像增强概述

问题背景&#xff08;Background&#xff09; 曝光不足或过度的照片-需要增强处理 图像Fourier频谱看不清-需要增强处理 图像有雾-需要 增强处理 车牌识别系统 车牌识别预处理-车牌图像需要增强处理 人脸识别预处理-人脸图像需要增强处理 指纹识别预处理-指纹图像需要增强处理…

并查集入门

quick-find 时间复杂度 quick-union quick-find&#xfffc;时间复杂度&#xfffc;### quick-union&#xfffc; &#xfffc; 按SIZE合并 按秩合并 路径压缩 面试了解基本思想 做蓝色 写路径隔代压缩 转载链&#xff1a;https://liweiwei1419.gitee.io/leetcode-algo/