MyBatis 的类型处理器主要由两部分组成:
- 基本的 TypeHandler : 负责 javaType 和 jdbcType 的转换。
- 高级的 TypeHandler: 能够解决更复杂的数据类型转换和处理的需求。
MyBatis 内置了很多基本的 TypeHandler ,对应各种基本类型和字符串:
- BooleanTypeHandler
- ByteTypeHandler
- ShortTypeHandler
- IntegerTypeHandler
- LongTypeHandler
- FloatTypeHandler
- DoubleTypeHandler
- StringTypeHanlder
- etc
这些内置类型处理器负责类型的转换,如:
- Integer -> Integer
- String -> Integer
- Integer -> String
高级类型处理器主要由开发人员根据需求实现,负责处理复杂的数据类型:
- EnumTypeHandler
- MapperTypeHandler
- BlobTypeHander
- DateTypeHandler
- MapTypeHandler
- ArrayTypeHandler
- ObjectTypeHandler
- etc
这些高级类型处理器解决了:
- 枚举转换
- 对象序列化
- 日期转换
- Map 和集合转换
- Blob binary转换
总的来说,MyBatis 的类型处理器提供了丰富的基本类型和高级类型的转换功能。用于解决对象关系映射。