Mybatis 映射文件中,如果 A 标签通过 include 引用了 B 标签的内容,请问, B 标签能
否定义在 A 标签的后面,还是说必须定义在 A 标签的前面?
:虽然 Mybatis 解析 Xml 映射文件是按照顺序解析的,但是,被引用的 B 标签依然可以
定义在任何地方, Mybatis 都可以正确识别。原理是, Mybatis 解析 A 标签,发现 A 标签引
用了 B 标签,但是 B 标签尚未解析到,尚不存在,此时, Mybatis 会将 A 标签标记为未解
析状态,然后继续解析余下的标签,包含 B 标签,待所有标签解析完毕, Mybatis 会重新
解析那些被标记为未解析的标签,此时再解析 A 标签时, B 标签已经存在, A 标签也就可
以正常解析完成了。
Mybatis Xml 映射文件中,不同的 Xml 映射文件, id 是否可以重复?
不同的XML文件,如果配置了namespace,那么id可以重复,如果没有篇日志namespace,那么id不能重复,

比较namespace不是必须的,只是最佳实践而已,原因就是namespace+id是作为Map<String,MappedSrarement>的key使用的

,自然id就可以重复,namespace不同,namespace+id自然也就不同。

Mtbatis中如何处理批执行?

:使用BatchExecutor完成批处理。

Mybatis 都有哪些 Executor 执行器?它们之间的区别是什么?
:Mybatis中有三种Executor执行器,SimpleExectuor,ReuseExecutor,BatchExecutor。

1.SimpleExecutor:每执行一次update或者select,就开启一个Statement对象,用完like关闭Statement对象。

2.ReuseExecutor:执行update或者select,以sql作为key查找Statement对象,存在就使用,不存在就创建,用完后,

不关闭Satement对象,二十放置于Map

3.BatchExecutor:完成批处理。

Mybatis 中如何指定使用哪一种 Executor 执行器?
在Mybatis配置文件中,可以指定默认的ExectorType执行器类型,也可以手动给DefaultSqlSessionFactory的创建SqlSession的方法传递ExecutorType类型参数。

Mybatis执行批量插入,能返回数据库主键列表吗?

:可以,JDBC可以,Mybatis也可以。

Mybatis 是否可以映射 Enum 枚举类 ?
:Mybatis可以映射枚举类,不单可以映射枚举类,Mybatis可以映射任何对象到表的一列上。

映射方式为自定义一个TypeHandler,实现TypeHandler的setParameter()和getResulr()接口方法。

TypeHandler有两个作用,意识完成从javaType至getResult()两个方法,分别代表设置sql问号占位符参数和获取列查询结果。

如何获取自动生成的()键值?
:配置文件设置usegeneratedkeys为true。

在Mapper中如何传递多个参数?

1)直接在方法中传递参数, xml 文件用#{0} #{1}来获取
2)使用 @param 注解:这样可以直接在 xml 文件中通过#{name}来获取
resultType resultMap 的区别?
1.类的名字和数据库相同时,可以直接设置resultType参数为pojo类。

2.若不同,需设置resultMap将结果名字和pojo名字进行转换。

使用 MyBatis mapper 接口调用时有哪些要求?
1.Mapper接口方法名和mapper.xml中定义的买个sql的id相同。

2.Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql的parameterType的类型相同。

3.Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同

4.Mapper.xml文件中的namespace即是接口的类路径。

Mybatis IBatis 比较大的几个改进是什么?
1.有接口绑定,包括注解绑定sql和xml绑定sql。

2.动态sql由原来的节点配置改为OGNL表达式

3.在一对一,一对多的时候引进了association,在一对多的时候引入了collection节点,

不过都是在resultMap里面配置

IBatis MyBatis 在核心处理类分别叫什么?
:IBatis里面的核心处理类叫SqlMapClient,Mybatis里面的核心处理类叫做SqlSession。

IBatis MyBatis 在细节上的不同有哪些?
1.在sql里面变量命名由原来的#变量#,变成了#{变量}

2.原来的$变量$,变成了${}

3.原来在sql节点里面的class都换名字叫type

4.原来的queryForObject queryForList 变成了selectOne selectList

5.原来的别名设置在映射文件里面放在了核心配置文件里。

转载于:https://www.cnblogs.com/dayandday/p/10838350.html

Mybatis常见面试题(三)相关推荐

  1. Mybatis常见面试题总结(详细)

    Mybatis常见面试题总结 SpringMVC常见面试题总结(超详细回答) 2020最新Java面试题(java,JavaWeb,数据库,框架),常见面试题及答案汇总 Spring常见面试题总结(超 ...

  2. Mybatis常见面试题(10个必备面试题)

    目录 面试题一:什么是Mybatis? 面试题二:Mybaits的优缺点? 面试题三:#{}和${}的区别是什么? 面试题四:Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复? ...

  3. Mybatis常见面试题(转)

    原文链接:https://www.cnblogs.com/huajiezh/p/6415388.html 1.#{}和${}的区别是什么? 注:这道题是面试官面试我同事的. 答:${}是Propert ...

  4. mysql和mybatis面试题_2020年,MyBatis常见面试题总结

    Mybatis 技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用 Mybatis 的文章,所以,一些参数使用细节略掉了,我们的目标 ...

  5. Mybatisの常见面试题

    Mybatis -面试问题 最近准备系统的学一下Mybatis,之前只有粗略的看了下,选了十个常见的面试题 1. #{}和${}的区别是什么? #{}是预编译处理,${}是字符串替换. Mybatis ...

  6. Mybatis常见面试题总结和基本概念

    更多免费教学文章请关注这里 1.什么是mybatis? (1)mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动 ...

  7. Spring、SpringMVC、Mybatis常见面试题总结

    目录 Spring篇 spring是什么? spring 有哪些主要模块? Spring的IoC理解 Spring的AOP理解 AOP详解: 解释一下什么是 AOP? AOP 的原理(重要)⭐ JDK ...

  8. MyBatis常见面试题汇总

    文章目录 概述 简介 优点 缺点 适用场景 MyBatis与Hibernate有什么不同? ORM是什么 传统JDBC开发存在什么问题? JDBC编程有哪些不足之处,MyBatis 是如何解决的? M ...

  9. 面试官问的hibernate和mybatis常见面试题

    点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 精彩内容 java实战练习项目教程 2018微服务资源springboot.s ...

最新文章

  1. windows10 oracle自动备份,Windows系统下oracle 自动备份数据库
  2. 一篇文章搞懂Filebeat
  3. 流行的jQuery信息提示插件(jQuery Tooltip Plugin)
  4. 最牛啤的java,没有之一~
  5. 影响 PCR 体系蒸发的三大因素
  6. Android NDK
  7. [Echarts可视化] 二.php和ajax连接数据库实现动态数据可视化
  8. java面试题 sql_Java面试题总结之数据库与SQL语句
  9. Audio-based snore detection using deep neural networks解读
  10. PM早知道:电子身份证是个啥?
  11. stm32 薄膜键盘原理_铅锤哥:市面上的笔记本键盘优缺点解析,看完秒懂
  12. 流程建设过程中个人和团队可能面临的问题
  13. Andrew Ng(coursera)单变量线性回归(LINEAR REGRESSION WITH ONE VARIABLE)
  14. 国内的邮箱哪最好用,个人的邮箱排名?
  15. C++在使用fgetc读取文件时出现方框乱码
  16. 系统分析师-2022年上半年必考知识点
  17. 美国NBC电视台社论 中文版
  18. 总线揭密 串行传输VS并行传输
  19. 【CSDN 2022 年度征文】你不停的翻找答案,只不过是在找一个替你讲故事的人——Oracle DBA转型大数据开发DBA的自述
  20. leo谈谈写简历之基础篇

热门文章

  1. 《马哥出品高薪linux运维教程》wingkeung学习笔记-linux基础入门课程5
  2. php 使用curl模拟登录discuz以及模拟发帖
  3. 为office添加繁简体转换
  4. 区块链技术开发三个优势
  5. java培训:什么是抽象类?怎么定义?
  6. 女生做软件测试需要学习什么技术?
  7. bats-Bash自动化测试工具
  8. Vue 中 CSS 动画原理
  9. Java8自定义条件让集合分组
  10. 在jupyter notebook中同时安装python2和python3