Mybatis Plus Json格式字段的映射
Mybatis Plus Json格式字段的映射
1.entity
需要在类添加注解@TableName(autoResultMap = true)
需要在字段上添加注解 @TableField(typeHandler = JacksonTypeHandler.class)
1 |
|
2.XML文件
需要在ResultMap的列中添加
1 | <result column="other_info" jdbcType="VARCHAR" property="otherInfo" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" /> |
若需要在xml写SQL查询Json字段,一定要在返回类型写 resultMap = "上面修改的resultMapId"
3.Mapper.java
如果要使用lambdaquery更新字段,在调用Set方法时,需要添加参数String mapping
1 | default Boolean updateBrandIndexSetting(User user) { |
踩坑
通过XML写SQL语句时,返回的json格式字段无法映射为对象,返回null
在Mapper.java里面写LambdaQuery时,只要实体类定义了autoMap = true就可以正确解析json对象.
而在xml里面写Sql时,需要指定返回类型为resultMap,且resultMap设置了typeHandler
1 | <select id="getUserList" resultMap="BaseResultMap"> |