全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页

TypeHandler 自定义类型处理器专题测试

13 题 45 分钟 难度:

考察知识点

  • TypeHandler 接口:接口方法定义、BaseTypeHandler 继承、注册方式
  • 枚举类型处理:EnumTypeHandler 与 EnumOrdinalTypeHandler 的区别、默认策略
  • JSON 类型处理:序列化/反序列化方向、Jackson 集成、null 值处理
  • 枚举字段映射:XML 配置、注解方式、全局配置与局部配置优先级
1
单选题

在 MyBatis 中,TypeHandler 接口定义了几个核心方法用于 Java 类型与 JDBC 类型之间的转换?

A

2个

B

3个

C

4个

D

5个

2
多选题

关于 MyBatis 的 TypeHandler 接口,以下说法正确的有?

A

自定义 TypeHandler 必须实现 org.apache.ibatis.type.TypeHandler 接口

B

BaseTypeHandler 是 TypeHandler 接口的抽象实现,简化了开发

C

注册 TypeHandler 只能通过 mybatis-config.xml 配置文件

D

TypeHandler 可以处理 Java 对象与数据库 JSON 字段之间的转换

3
判断题

继承 BaseTypeHandler 实现自定义 TypeHandler 时,必须手动处理 parameter 为 null 的情况。

A

B

4
填空题

在 MyBatis 中,自定义 TypeHandler 注册到框架的两种方式:

  1. 在 mybatis-config.xml 中使用 !!1!! 标签注册
  2. 使用 !!2!! 和 @MappedJdbcTypes 注解标注在 TypeHandler 类上
5
单选题

MyBatis 默认情况下,使用哪种策略处理枚举类型的映射?

A

使用枚举的 ordinal 值(索引)

B

使用枚举的 name 值(名称)

C

使用 EnumOrdinalTypeHandler

D

使用 EnumTypeHandler

6
多选题

关于 MyBatis 枚举类型处理,以下说法正确的有?

A

EnumTypeHandler 使用枚举的 name 属性进行映射

B

EnumOrdinalTypeHandler 使用枚举的 ordinal 属性进行映射

C

默认情况下,枚举类型在数据库中存储为整数

D

可以通过自定义 TypeHandler 实现枚举与数据库 code 值的映射

7
填空题

MyBatis 内置的两种枚举 TypeHandler 分别是:

  1. !!1!! - 按枚举名称映射
  2. !!2!! - 按枚举索引映射
8
单选题

在 MyBatis 中处理 JSON 类型字段时,通常需要结合以下哪个库来实现对象序列化?

A

Spring Data JPA

B

Jackson 或 Gson

C

HikariCP

D

PageHelper

9
多选题

实现一个处理 JSON 类型字段的 TypeHandler 时,需要完成哪些操作?

A

在 setParameter 方法中将 Java 对象序列化为 JSON 字符串

B

在 getResult 方法中将 JSON 字符串反序列化为 Java 对象

C

必须使用 @MappedJdbcTypes 注解指定 JDBC 类型为 OTHER

D

需要处理 null 值情况,避免反序列化异常

10
简答题

请编写一个使用 Jackson 处理 JSON 类型字段的 TypeHandler 实现(伪代码即可),并说明 key 设计要点。

11
单选题

在 MyBatis Mapper XML 中,如何为特定字段指定使用 EnumOrdinalTypeHandler?

A

在 标签中添加 typeHandler 属性

B

在 标签中添加 handler 属性

C

在全局配置文件中修改默认枚举处理器

D

无法在 XML 中指定,只能通过注解

12
多选题

关于枚举字段映射的配置方式,以下正确的有?

A

可以在 resultMap 的 标签中通过 typeHandler 属性指定

B

可以在 Java Bean 属性上使用 @TableField(typeHandler=...) 注解

C

可以在 mybatis-config.xml 中全局注册 EnumOrdinalTypeHandler

D

枚举类型无法使用自定义 TypeHandler

13
判断题

如果在 resultMap 中为某字段指定了 TypeHandler,则该配置优先于 mybatis-config.xml 中的全局注册。

A

B

← 上一个试卷 SQL 映射文件基础专题测试
下一个试卷 → 与 Spring 集成专题测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库