字段类型处理器

类型处理器,用于 JavaType 与 JdbcType 之间的转换,用于 PreparedStatement 设置参数值和从 ResultSet 或 CallableStatement 中取出一个值,本文讲解 mybaits-plus 内置常用类型处理器如何通过TableField注解快速注入到 mybatis 容器中。

示例工程:

👉 mybatis-plus-sample-typehandler字段类型处理器 - 图1

  • JSON 字段类型
  1. @Data
  2. @Accessors(chain = true)
  3. @TableName(autoResultMap = true)
  4. public class User {
  5. private Long id;
  6. ...
  7. /**
  8. * 注意!! 必须开启映射注解
  9. *
  10. * @TableName(autoResultMap = true)
  11. *
  12. * 以下两种类型处理器,二选一 也可以同时存在
  13. *
  14. * 注意!!选择对应的 JSON 处理器也必须存在对应 JSON 解析依赖包
  15. */
  16. @TableField(typeHandler = JacksonTypeHandler.class)
  17. // @TableField(typeHandler = FastjsonTypeHandler.class)
  18. private OtherInfo otherInfo;
  19. }

该注解对应了 XML 中写法为

  1. <result column="other_info" jdbcType="VARCHAR" property="otherInfo" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" />