Mybatis plus 将Mysql中JSON 字段转换为 List 对象
参考文章:https://blog.csdn.net/zs18753479279/article/details/118634794
- 创建 Json 字段转换的对象
// 这只是个示例
@Data
public class Json(){
private String name;
private Integer age;
}
- 创建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;
}
}
- 在相应的实体类上添加即可
// 实体类的表名中需要添加 autoResultMap = true 示例如下
@TableName(value="test",autoResultMap = true)
public class day{
// 这是与数据库对应的属性字段
@TableField(value = "json",typeHandler = JsonHandler.class)
private List<Json> json;
}
浙公网安备 33010602011771号