myatis puls 处理json类型字段

2022-09-23 07:59:09 浏览数 (1)

使用mybatis plus进行sql的映射时如果是用原生的查询方法可以将json类型的字段顺利映射到对象中,可是如果是自己来写sql进行查询json数据类型映射会出现无法映射成功,基于这种情况参考了一下mp官网的说明,先记录一下

参考连接地址: https://baomidou.com/pages/fd41d8/

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

代码语言:javascript复制
@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 中写法为

代码语言:javascript复制
<result column="other_info" jdbcType="VARCHAR" property="otherInfo" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" />

0 人点赞