@TableField(typeHandler = JacksonTypeHandler.class)
private ServiceReqrule serviceReqrule;
@TableField(typeHandler = FastjsonTypeHandler.class)
private ServiceReqrule serviceReqrule;
JacksonTypeHandler
- 支持 MVC JSON 解析
- 支持 MySQL JSON 解析
Ps:传统的方法是通过 XML SQL 的 resultMap 来做 typeHandler 映射处理,但是这样会影响 MP 的功能,所以 JacksonTypeHandler 正好可以兼容 MP 的功能和满足 支持 MySQL JSON 解析。
FastjsonTypeHandler
- 支持 MVC JSON 解析
- 不支持 MySQL JSON 解析
Ps:可以通过 XML 支持,只是会失去 MP 特性。
<resultMap id="rxApiVO" type="RxApiVO" >
<result column="api_dataway" property="apiDataway" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler" />
</resultMap>
注意事项
- MVC JSON 解析时,可以不用加 @TableName(value = "t_test", autoResultMap = true) 【高亮部分】,但是 MySQL JSON 解析查询的时候,如果不加,查出来为 null
- MySQL JSON 解析查询时,只支持JSON格式:{"name":"Tom","age":12},不支持:{\"name\":\"Tom\",\"age\":12} 和 "{\"name\":\"Tom\",\"age\":12}"