MyBatis面试题(1)

众所周知,MyBatis是ssm三大框架之一,也是在以后的开发过程中的一个重要的框架,相对其他的两个框架而言,MyBatis框架更容易理解一些;在开发工程师的面试中,面试官难免会问到MaBatis框架的问题,一下是我整理的一些关于MyBatis的小知识,希望能够帮助到大家

1.MyBatis中用于表示输入类型的属性名称是()
 A. resultTypere B. parameterType C. collection D. returnType

正确答案:B

2.在 MyBatis 中,配置结果映射时,使用( )标签实现1对多的关联
A. many-one
B. one-many
C. association
D. collection

正确答案:D

3.在 MyBatis中调用SqlSessionFactoryBuilder的哪个方法用于获取SqlSession对象( )。
A.  getSession()
B.  openSession()
C.  session()
D.  showSqlSession()

正确答案:B

4. 在 MyBatis 中,操作数据库的核心类是
A.  SqlSessionFactory
B.  SqlSession
C.  Session
D.  SqlSessionFactoryBuilder

正确答案:B

5.MyBatis对JDBC访问数据库的代码进行封装,从而大大简化了数据访问层的重复性代码,它是针对三层架构中( )的解决方案
A.  表现层
B.  业务逻辑层
C.  持久化层
D.  数据库系统

正确答案:C

6.看程序进行分析:

Public UserselectUser(String name,String area);
<select id="selectUser"resultMap=“BaseResultMap”>
select * from user_user_t where user_name = #{0} and user_area=#{1}
</ select>
#{0} 表示哪一个参数?

A.  程序报错
B.  name
C.  area
D.  0

正确答案:B

7.使用MyBatis的mapper接口调用时有哪些要求()
A. Mapper接口方法名和mapper.xml中定义的每个sql的id相同
B. Mapper.xml文件中的namespace即是mapper接口的类路径
C. Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同;
D. Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同;

正确答案:ABCD

8.Mybatis是如何将sql执行结果封装为目标对象并返回的()
A. id
B. <resultMap>标签
C. 使用sql列的别名
D. resultType

正确答案:BC

9.如何获取自动生成的(主)键值()
A. 设置resultMap
B. 设置useGeneratedKeys
C. 设置keyProperty
D. 设置Property

正确答案:C

10.以下不属于一对多的是()
A. 帅哥和美女
B. 学生和班级
C. 投影和学生
D. 学校和班级

正确答案:A

11.对mybatis描述有误的是()
A. MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架
B. MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面
C. Mybatis是一个全ORM(对象关系映射)框架,它内部封装了JDBC
D. MyBatis 只可以使用 XML来配置和映射原生信息

正确答案:CD

12.选择正确顺序的Mybatis编程步骤()
A. Step1:创建SQLSessionFactory Step2:通过SQLSessionFactory创建SQLSessionStep3:通过SQLSession执行数据库操作 Step4:调用session.close()关闭会话
B. Step1:创建SQLSession Step2:通过SQLSession执行数据库操作 Step3:调用session.commit()提交事物 Step4:调用session.close()关闭会话
C. Step1:创建SQLSession Step2:通过SQLSession创建SQLSessionFactory Step3:通过SQLSessionFactory 执行数据库操作 Step4:调用session.commit()提交事物 Step5:调用session.close()关闭会话
D. Step1:创建SQLSessionFactory Step2:通过SQLSessionFactory创建SQLSession Step3:通过SQLSession执行数据库操作 Step4:调用session.commit()提交事物 Step5:调用session.close()关闭会话

正确答案:D

13.(多选)Mybatis的mapper接口调用时候的要求正确的是
A. Mapper接口方法名和Mapper.xml中定义的每个SQL的id相同;
B. Mapper接口方法的输入参数类型和mapper.xml中定义的每个sqlparameterType类型相同
C. Mapper接口方法的输入输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
D. Mapper.xml文件中的namespace,就是接口的名字

正确答案:ABC

14.一辆汽车由多个零部件组成,且相同的零部件可适用于不同型号的汽车,则汽车实体集与零部件实体集之间的联系是( )
A. 1:M
B. 1:1
C. M:1
D. M:N

正确答案:D

15.(填空)模糊查询like语句该怎么写?
第1种:在Java代码中添加____。
第2种:在sql语句中添加____,会引起sql注入

答案:sql通配符,拼接通配符

16.(填空)Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?不同的Xml映射文件,如果配置了namespace,那么id____;如果没有配置namespace,那么id____;

答案:可以重复,不可以重复

17.以下关于MyBatis参数处理的说法错误的是()
A. 当传入单个参数时, 可以直接取出参数并赋值给xml文件
B. 当传入多个参数时, 可以直接取出参数并赋值给xml文件
C. 当传入多个参数时, 可以使用Map接口的方式封装参数并取得值
D. 传入多个参数时,可以使用注解@ param的方式标注参数

正确答案:B

18.关于MyBatis中传递多参数的情况,如果参数封装成了Student类,那么在Mapper.xml中获取数据,应该怎么操作(
A. 条件获取数据可以通过# {属性名}来获得
B. 条件获取数据可以通过#{arg0}来获得
C. 条件获取数据可以通过#{arg1}来获得
D. 条件获取数据可以通过#{属 性名}或者#(arg0}来获得

正确答案:A

19.以下关于MyBatis传递数组参数的说法错误的是()
A. 在映射文件中取得数组值 应该通过<forEach>标签
B. <forEach> 标签可以应用于set、List以及 数组的取值
C. 传递数组的值,和多参数传值一样,在映射文件中只能通过<forEach>取值
D. <forEach> 标签的open和close属性用于写开始和结束标签;

正确答案:C

20.(填空)四个核心接口是:()用于执行CRUD操作、()处理SQL的参数、()处理返回结果集、()用于执行SQL语句。

答案:Executor , ParameterHandler ,ResultSetHandler,StatementHandler

21.(填空)MyBatis中提供了一级缓存和二级缓存,其中()默认存在,不可控制,同一SqlSession范围内的操作共享该缓存,增、删、改后将()。

答案:一级缓存 , 清除缓存

以上就是我为大家整理的部分关于MyBatis的小知识,同时也欢迎大家在评论区留言探讨更多关于MyBatis的知识。

MyBatis面试题1相关推荐

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

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

  2. 面试官都会问的Mybatis面试题,你会这样回答吗?

    一.概述 面试,难还是不难?取决于面试者的底蕴(气场+技能).心态和认知及沟通技巧.面试其实可以理解为一场聊天和谈判,在这过程中有心理.思想上的碰撞和博弈.其实你只需要搞清楚一个逻辑:"面试 ...

  3. MyBatis面试题库

    这里写目录标题 Mybatis面试题库 1.Mybatis是什么? 2.Mybaits的优点: 3.Mybatis框架的缺点 4.MyBatis框架的适用场合 5.当实体类中的属性名和表中的字段名不一 ...

  4. 5.MyBatis源码解析-MyBatis面试题--阿呆中二

    MyBatis面试题 MyBatis MyBatis面试题 MyBatis一级缓存和二级缓存? MyBatis 有几种执行器和区别? Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能 ...

  5. 2021年MyBatis面试题30道

    文章目录 前言 面试题系列文章传送门 MyBatis面试题内容 1. 模糊查询like语句该怎么写? 2. MyBatis 框架适用场合? 3. MyBatis是如何进行分页的?分页插件的原理是什么? ...

  6. 【2021最新版】MyBatis面试题总结(38道题含答案解析)

    文章目录 1.什么是Mybatis? 2.Mybaits的优点? 3.MyBatis框架的缺点? 4.MyBatis框架适用场合 5.MyBatis与Hibernate有哪些不同? 6.#{} 和${ ...

  7. Mybatis面试题整理

    文章目录 Mybatis面试题 1. 谈谈 MyBatis 2. Mybatis 的优点 3. Mybatis 的缺点 4. 什么是 ORM 5. 为什么说 Mybatis 是半自动 ORM 映射工具 ...

  8. 【10月最新】必问的25道mybatis面试题,都会的话你也可以去大厂

    目录 1.#{}和${}的区别是什么? 2.Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签? 3.最佳实践中,通常一个Xml映射文件,都会写一个 ...

  9. i了i了,这简直就是2020全网最全最强的MyBatis面试题!

    题目大纲 ps:先上题,答案在后面 1.什么是MyBatis? 2.讲下MyBatis的缓存 3.Mybatis是如何进行分页的?分页插件的原理是什么? 4.简述Mybatis的插件运行原理,以及如何 ...

最新文章

  1. python学习_22(文件)
  2. ntko office在线编辑控件问题记录
  3. 科大星云诗社动态20210120
  4. href脱离iframe显示
  5. css 计算属性的应用_如何使用一点CSS Grid魔术设计计算器应用
  6. 前端学习(7):web的三大技术
  7. 5 simple types and 6 false values in JavaScript
  8. JEECG支付服务窗平台与服务窗接口对接文档
  9. maven打包,java内存竟然要设置16G(-Xmx16384m)
  10. matlab怎么计算泰尔指数,求助:泰尔指数怎么算呢
  11. 华硕笔记本怎么安装计算机,华硕笔记本电脑驱动怎么安装(一次装全,Win10)...
  12. ansys18安装以后打不开_ansys18.0安装过程及常见问题解决方案【图文】
  13. messenger支持查找附近的人功能吗_您如何使用Facebook Messenger跟踪某人的位置 | MOS86...
  14. 错别字检测、在线文本纠错-爱校对
  15. 【AAE】【Keras】实现merge出错:TypeError: ‘module‘ object is not callable
  16. 《奇异博士》+片尾两彩蛋
  17. git代码合并了后发现有冲突,我们怎么取消合并?
  18. 如何使用 OpenTracing 和 Jaeger 追踪 Pulsar 消息
  19. 浏览器 重定向次数限制_浏览器重定向(302)限制问题
  20. Python的import

热门文章

  1. PHP取整,四舍五入取整、向上取整、向下取整、小数截取
  2. Linux小技巧之终端快捷键大全
  3. java时间段分割_任意一个起止时间段(如:20160101-20161009),用java将这个时间段拆分成一个个按自然周组成的时间段...
  4. Android 快速集成谷歌账户登录
  5. 大唐杯5G练习题(二)
  6. 吊打面试官,笑对 2022 金三银四,2022年最全面试真题大汇总
  7. Linux中静态库和动态库(共享库)的区别
  8. JDBC,你真的知道怎么用吗?
  9. JQ数据库查询时间转换
  10. stm32f103c8t6调试-while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET );卡死