首页/ 学科题库/ Mytatis/ 参数传递与结果映射专题测试
Mytatis 模拟试卷

参数传递与结果映射专题测试

14 题 40 分钟 难度:★
  • 单参数传递:单参数时 #{} 的命名规则与 @Param 注解的使用
  • 多参数传递:@Param 注解、JavaBean 封装、Map 集合、默认 param 命名
  • resultMap 结果映射:<id>、<result>、<association>、<collection> 元素的使用
  • 自动映射与驼峰转换:mapUnderscoreToCamelCase 配置与下划线到驼峰的转换规则
  • 基本类型结果集:COUNT/SUM/MAX 等聚合函数返回值的配置方式

试卷习题(14 题)

参考答案在文末
判断题
1
判断题

MyBatis 默认开启了驼峰命名自动转换功能,无需额外配置。

A

对

B

错

单选题
2
单选题

开启 MyBatis 的驼峰命名转换后,数据库列 user_name 会自动映射到 Java 对象的哪个属性?

A

user_name

B

userName

C

USERNAME

D

User_Name

3
单选题

当需要查询数据库表的总记录数时,Mapper 接口方法的返回值类型应该是什么?

A

List<Integer>

B

Integer 或 Long

C

Map<String, Object>

D

自定义实体类

4
单选题

当 Mapper 接口方法有多个参数且未使用 @Param 注解时,MyBatis 默认将参数封装为什么形式?

A

按参数顺序命名为 #{arg0}, #{arg1}, #{arg2}... 或 #{param1}, #{param2}, #{param3}...

B

按参数顺序命名为 #{0}, #{1}, #{2}...

C

必须使用参数在方法中的实际名称,如 #{name}, #{age}

D

多参数必须使用 Map 传递,不能直接写在方法签名中

5
单选题

在 MyBatis 的 Mapper XML 中,当接口方法只有一个参数时,以下哪种 #{} 写法是正确的?

A

必须使用 #{param1} 才能获取到参数值

B

可以使用任意名称,如 #{id} 或 #{value} 都可以

C

必须使用 #{0} 才能获取到参数值

D

必须与方法参数名完全一致,如 #{userId}

6
单选题

关于 MyBatis 中 resultMap 和 resultType 的区别,以下描述正确的是?

A

resultType 适用于复杂映射,resultMap 适用于简单映射

B

resultType 要求数据库列名与 Java 属性名完全一致,resultMap 可以自定义列与属性的映射关系

C

resultMap 只能用于一对一映射,不能用于一对多

D

使用 resultType 时必须配置驼峰转换,否则无法映射任何字段

多选题
7
多选题

在 MyBatis 中,以下哪些是多参数传递的正确方式?

A

使用 @Param 注解为每个参数命名

B

将多个参数封装为一个 JavaBean 对象

C

使用 Map 集合作为参数,将键值对存入 Map 中

D

直接在方法签名中写多个参数,XML 中使用 #{param1}, #{param2} 引用

8
多选题

在 MyBatis 的 <resultMap> 配置中,以下哪些元素是正确的?

A

<id> 用于映射数据库表的主键列到 Java 对象属性

B

<result> 用于映射普通列到 Java 对象属性

C

<association> 用于配置一对一关联关系

D

<collection> 用于配置一对多关联关系

9
多选题

在 MyBatis 中,以下哪些场景适合使用基本类型作为返回值?

A

使用 COUNT() 函数统计记录数量,返回 Long

B

使用 SELECT MAX() 获取最大值,返回 Integer

C

查询用户是否存在,返回 Boolean

D

查询用户列表,返回 List<User>

10
多选题

关于 <resultMap> 的配置,以下描述正确的有哪些?

A

<id> 元素用于映射主键字段,有助于提高 MyBatis 缓存效率

B

column 属性指定数据库列名,property 属性指定 Java 对象属性名

C

开启驼峰转换后,所有字段都不需要在 <resultMap> 中配置

D

<resultMap> 的 type 属性指定映射的 Java 类型

填空题
11
填空题

在多参数传递中,推荐使用 注解为参数命名;当参数数量较多时,更好的做法是将参数封装为一个对象,通过属性名在 XML 中引用。

12
填空题

当 Mapper 接口方法的参数为基本类型且只有一个时,在 XML 中使用 #{} 引用该参数时;但如果使用了注解指定参数名,则 XML 中必须使用该注解指定的名称。

13
填空题

当查询语句为 SELECT COUNT(*) FROM user 时,XML 中应配置 resultType="",对应的 Mapper 接口方法返回值为类型;若使用 resultType="map",则返回值类型为。

14
填空题

当数据库列名与 Java 属性名不一致且无法通过驼峰转换匹配时,必须使用进行手动映射;在 mybatis-config.xml 中开启驼峰转换的配置项名称是。

参考答案
1.错误 2.B 3.B 4.A 5.B 6.B 7.A;B;C;D 8.A;B;C;D 9.A;B;C 10.A;B;D 11.org.apache.ibatis.annotations.Param;JavaBean/实体类 12.可以使用任意名称;@Param 13.long;Long;Map<String, Object> 14.resultMap;mapUnderscoreToCamelCase
想在手机上在线作答这套卷子?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可限时作答并自动判分。
了解产品 App
← 上一套 动态 SQL 专题测试 下一套 → 基本 CRUD 实战专题测试