MyBatis面试题

您所在的位置:网站首页 实现动态sql的主要元素是 MyBatis面试题

MyBatis面试题

2023-11-13 13:19| 来源: 网络整理| 查看: 265

MyBatis面试题 填空题

Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复? 不同的Xml映射文件,如果配置了namespace,那么id____;如果没有配置 namespace,那么id____; (5分) 正确答案: 可以重复 不能重复

#{}和KaTeX parse error: Expected 'EOF', got '#' at position 10: {}的区别是什么?#̲{}是_____,{}是_____。 (5分) 正确答案: 预编译处理 字符串替换

选择题

多选题

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

Mybatis是如何将sql执行结果封装为目标对象并返回的 (2分) A. id B. 标签 C. 使用sql列的别名 D. resultType 正确答案: B, C

3.mybaties中模糊查询like语句的写法 (2分) A. select * from foo where bar like #{value} B. select * from foo where bar like #{%value%} C. select * from foo where bar like %#{value}% D. select * from foo where bar like “%”${value}"%" 正确答案: A, D

4.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复? 选择说法正确的 (2分) A. 不同的Xml映射文件,如果配置了namespace,那么id可以重复 B. 如果没有配置namespace,那么id不能重复 C. 如果没有配置namespace,id能重复 D. 不同的Xml映射文件,如果配置了namespace,那么id不可以重复 正确答案: A, B

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

MyBatis内置类型别名有 (2分) A. _int B. Integer C. int D. String **正确答案: A, C **

7.Mybatis动态sql标签有哪些? (2分) A. trim B. foreach C. set D. than 正确答案: A, B, C

Mybaits的优点正确的是? (2分) A. 基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影 响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理 B. 与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手 动开关连接 C. 很好的与各种数据库兼容 D. 它是一全个ORM框架,MyBatis不需要程序员自己编写Sql语句。 正确答案: A, B, C

实体类中的属性名和表中的字段名不一样怎么处理?【选择二项】 (2分) A. 查询的sql语句中定义字段名的别名 B. 不用处理 C. 通过来映射字段名和实体类属性名 D. 通过来映射字段名和实体类属性名 正确答案: A, C 题目解析

10.MyBatis有两种事物管理器类型,分别是()和()。 (选择二项) (2分) A. JDBC B. MANAGED C. POOLED D. JNOI 正确答案: A, B 题目解析

单选题

在mybatis的配置文件中,通过( )标签来设置实体类的别名。 (2分) A. properties B. settings C. typeAliases D. dataSource 正确答案: C 题目解析

下列( )不属于 MyBatis全局配置文件中的标签 (2分) A. settings B. select C. plugins D. properties 分数: 2正确答案 : B 题目解析

在Mybatis中,SQL映射文件中配置insert语句时,在SQL SERVER中插入语句所在的表的ID为自动增长列,下列关于insert标签的说法,正 确的是( ) (2分) A. 必须要显示插入标识列中的值 B. 使用任何数据库都可以使用自动生成主键策略 C. useGeneratedKeys属性对update标签也有作用 D. 可以使用useGeneratedKeys属性允许标识列的自动增长用于生成主键 正确答案: D 题目解析

在 MyBatis 中,操作数据库的核心类是 (2分) A. SqlSessionFactory B. SqlSession C. Session D. SqlSessionFactoryBuilder 正确答案: B 题目解析

5.在使用MyBatis的时候,除了可以使用@Param注解来实现多参数入参,还可以用()传递多个 参数值。 (2分) A. 用Map对象可以实现传递多参数值 B. 用List对象可以实现传递多参数值 C. 用数组的方式传递 D. 用Set集合的方式传递 正确答案: A 题目解析

在 MyBatis 中,配置结果映射时,使用( )标签实现多对1的关 联 (2分) A. many-one B. one-many C. association D. collection 正确答案: C 题目解析

7.MyBatis操作数据库时的接口方法中,如果传入的参数名和动态sql 中使用时不一致,则需要使用( )注解修饰。 (2分) A. @RequestParam B. @Parameter C. @String D. @Param 正确答案: D 题目解析

在mybatis中,配置结果映射时,使用( )标签实现一对多的关 联 (2分) A. many-one B. one-many C. association D. collection 正确答案: D 题目解析

9.MyBatis 中对复杂数据映射到一个结果集的配置使用的标签是( ) (2分) A. B. C. D. 正确答案: A 题目解析

在 MyBatis 动态 SQL 中,循环使用的标签名是( )。 (2分) A. for B. while C. foreach D. do-while 正确答案: C 题目解析

看程序进行分析:Public UserselectUser(String name,String area); select * fromuser_user_t whereuser_name = #{0} anduser_area=#{1} #{0} 表示哪一个参数? (2分) A. 程序报错 B. name C. area D. 0 正确答案: B 题目解析

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

MyBatis生命周期说法错误的是 (2分) A. SqlSessionFactoryBuilder实例的佳作用域是方法范围,也就是定义为本地方法变 量既可 B. SqlSessionFactory实例的生命周期应该在整个应用的执行期间都存在 C. SqlSession实例时线程不安全的,因此其生命周期应该是请求或方法范围 D. SqlSession实例通常定义为一个类的静态变量 正确答案: D 题目解析

以下不属于一对多的是? (2分) A. 帅哥和美女 B. 学生和班级 C. 投影和学生 D. 学校和班级 正确答案: A 题目解析

15.在MyBatis中,在进行select查询映射时,下列关于返回类型的说 法,正确的是( ) (2分) A. 只能是resultType B. 只能是resultMap C. 可以是resultType或resultMap D. 以上说法都不正确 分数: 2正确答案 : C 题目解析

配置实体包的别名,正确的写法是 (2分) A. B. C. D. 正确答案: A 题目解析

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

编译Java程序的命令是 (2分) A. appletviewer B. javac C. java D. javadoc 正确答案: B 题目解析

在MyBatis数据库操作时,需要编写( )和对应的Xml文件,其 中Xml文件中编写的是对应Sql语句 (2分) A. 接口和抽象方法 B. 普通类和普通方法 C. 抽象类和抽象方法 D. 普通类和抽象方法 正确答案: A 题目解析

20.在 MyBatis 中,配置结果映射时,使用( )标签实现1对多的关 联 (2分) A. many-one B. one-many C. association D. collection 正确答案: D 题目解析

问答题 Mybatis动态sql有什么用?执行原理? (15分)关键字 标签 1分 逻辑判断 1分

参考答案Mybatis动态sql可以在Xml映射文件内,以标签的形式编写动态sql,执行原理 是根据表达式的值 完成逻辑判断并动态拼接sql的功能。****

如何获取自动生成的(主)键值? (15分)关键字 usegeneratedkeys 1分 keyproperty 1分

参考答案 如果采用自增长策略,自动生成的键值在 insert 方法执行完后可以被设置到传 入的参数对象中。 usegeneratedkeys=”true” keyproperty=”id”



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3