Loading... # 前言 在使用MySQL时候用到了json类型存储 `["aa","bb"]`的数据,但是在MyBatisX插件生成的entity类时,对应生成的java类型是Object,会导致前端vo返回的数据是字符串。 # 思路 解决方法也很简单,Mybatis-Plus提供了 `@TableField`注解,使用其中的 `typeHandler`属性指定类型处理类即可。只需要继承 `AbstractJsonTypeHandler`类重写两个方法即可 ```java public class JsonTypeHandler extends AbstractJsonTypeHandler<List<String>> { public JsonTypeHandler(Class<?> type, Field field) { super(type, field); } @Override public List<String> parse(String json) { return JSON.parseArray(json, String.class); } @Override public String toJson(Object obj) { return JSON.toJSONString(obj, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.WriteNullStringAsEmpty); } } ``` 然后在对应类的属性加上即可 ```java @TableField(value = "role_list", typeHandler = JsonTypeHandler.class) private List<String> roleList; ``` Last modification:October 24, 2024 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 如果觉得我的文章对你有用,请随意赞赏