MyBatis面试题1
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相关推荐
- mysql和mybatis面试题_2020年,MyBatis常见面试题总结
Mybatis 技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用 Mybatis 的文章,所以,一些参数使用细节略掉了,我们的目标 ...
- 面试官都会问的Mybatis面试题,你会这样回答吗?
一.概述 面试,难还是不难?取决于面试者的底蕴(气场+技能).心态和认知及沟通技巧.面试其实可以理解为一场聊天和谈判,在这过程中有心理.思想上的碰撞和博弈.其实你只需要搞清楚一个逻辑:"面试 ...
- MyBatis面试题库
这里写目录标题 Mybatis面试题库 1.Mybatis是什么? 2.Mybaits的优点: 3.Mybatis框架的缺点 4.MyBatis框架的适用场合 5.当实体类中的属性名和表中的字段名不一 ...
- 5.MyBatis源码解析-MyBatis面试题--阿呆中二
MyBatis面试题 MyBatis MyBatis面试题 MyBatis一级缓存和二级缓存? MyBatis 有几种执行器和区别? Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能 ...
- 2021年MyBatis面试题30道
文章目录 前言 面试题系列文章传送门 MyBatis面试题内容 1. 模糊查询like语句该怎么写? 2. MyBatis 框架适用场合? 3. MyBatis是如何进行分页的?分页插件的原理是什么? ...
- 【2021最新版】MyBatis面试题总结(38道题含答案解析)
文章目录 1.什么是Mybatis? 2.Mybaits的优点? 3.MyBatis框架的缺点? 4.MyBatis框架适用场合 5.MyBatis与Hibernate有哪些不同? 6.#{} 和${ ...
- Mybatis面试题整理
文章目录 Mybatis面试题 1. 谈谈 MyBatis 2. Mybatis 的优点 3. Mybatis 的缺点 4. 什么是 ORM 5. 为什么说 Mybatis 是半自动 ORM 映射工具 ...
- 【10月最新】必问的25道mybatis面试题,都会的话你也可以去大厂
目录 1.#{}和${}的区别是什么? 2.Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签? 3.最佳实践中,通常一个Xml映射文件,都会写一个 ...
- i了i了,这简直就是2020全网最全最强的MyBatis面试题!
题目大纲 ps:先上题,答案在后面 1.什么是MyBatis? 2.讲下MyBatis的缓存 3.Mybatis是如何进行分页的?分页插件的原理是什么? 4.简述Mybatis的插件运行原理,以及如何 ...
最新文章
- python学习_22(文件)
- ntko office在线编辑控件问题记录
- 科大星云诗社动态20210120
- href脱离iframe显示
- css 计算属性的应用_如何使用一点CSS Grid魔术设计计算器应用
- 前端学习(7):web的三大技术
- 5 simple types and 6 false values in JavaScript
- JEECG支付服务窗平台与服务窗接口对接文档
- maven打包,java内存竟然要设置16G(-Xmx16384m)
- matlab怎么计算泰尔指数,求助:泰尔指数怎么算呢
- 华硕笔记本怎么安装计算机,华硕笔记本电脑驱动怎么安装(一次装全,Win10)...
- ansys18安装以后打不开_ansys18.0安装过程及常见问题解决方案【图文】
- messenger支持查找附近的人功能吗_您如何使用Facebook Messenger跟踪某人的位置 | MOS86...
- 错别字检测、在线文本纠错-爱校对
- 【AAE】【Keras】实现merge出错:TypeError: ‘module‘ object is not callable
- 《奇异博士》+片尾两彩蛋
- git代码合并了后发现有冲突,我们怎么取消合并?
- 如何使用 OpenTracing 和 Jaeger 追踪 Pulsar 消息
- 浏览器 重定向次数限制_浏览器重定向(302)限制问题
- Python的import
热门文章
- PHP取整,四舍五入取整、向上取整、向下取整、小数截取
- Linux小技巧之终端快捷键大全
- java时间段分割_任意一个起止时间段(如:20160101-20161009),用java将这个时间段拆分成一个个按自然周组成的时间段...
- Android 快速集成谷歌账户登录
- 大唐杯5G练习题(二)
- 吊打面试官,笑对 2022 金三银四,2022年最全面试真题大汇总
- Linux中静态库和动态库(共享库)的区别
- JDBC,你真的知道怎么用吗?
- JQ数据库查询时间转换
- stm32f103c8t6调试-while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET );卡死