Mybatis plus 将Mysql中JSON 字段转换为 List 对象

参考文章:https://blog.csdn.net/zs18753479279/article/details/118634794

  1. 创建 Json 字段转换的对象
// 这只是个示例
@Data
public class Json(){
  private String name;
  private Integer age;
}
  1. 创建mybatis plus 的类型转换器
public class JsonHandler extends JacksonTypeHandler {

    public JsonHandler (Class<?> type) {
        super(type);
    }


    @Override
    protected List<IntegralDetailJson> parse(String json) {
        List<IntegralDetailJson> jsons = new ArrayList<>();
        try {
            jsons = JSONObject.parseArray(json, Json.class);
        } catch (JSONException e) {
            jsons.add(JSONObject.parseObject(json, Json.class));
        }
        return  jsons;
    }
}
  1. 在相应的实体类上添加即可
// 实体类的表名中需要添加  autoResultMap = true 示例如下
@TableName(value="test",autoResultMap = true)
public class day{
  // 这是与数据库对应的属性字段
  @TableField(value = "json",typeHandler = JsonHandler.class)
  private List<Json> json;
}
posted @ 2022-09-01 10:26  wds09  阅读(4036)  评论(0)    收藏  举报