0
点赞
收藏
分享

微信扫一扫

MyBatis-Plus - 字段类型处理器



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


示例工程

???? ​​mybatis-plus-sample-typehandler​​

  • JSON 字段类型
@Data
@Accessors(chain = true)
@TableName(autoResultMap = true)
public class User {

private Long id;
...

/**
* 注意!! 必须开启映射注解
*
* @TableName(autoResultMap = true)
*
* 以下两种类型处理器,二选一 也可以同时存在
*
* 注意!!选择对应的 JSON 处理器也必须存在对应 JSON 解析依赖包
*/
@TableField(typeHandler = JacksonTypeHandler.class)
// @TableField(typeHandler = FastjsonTypeHandler.class)
private OtherInfo otherInfo;
}

该注解对应了 XML 中写法为

<result column="other_info" jdbcType="VARCHAR" property="otherInfo" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" />
  • 注意1:此版本至少在 3.2.0 开始才生效噢~
  • 注意2:不需要 mysql 字段一定是 json 类型,text 也可以的,但是数据长的必须符合 json 规范!

扩展内容

  • ​​MyBatis-Plus - JacksonTypeHandler VS FastjsonTypeHandler​​
  • MyBatis-Plus - 字段类型处理器之泛型擦除解决方案


举报

相关推荐

0 条评论