问题:数据库表中有Json类型字段,存放的是Json的字符串,而我们Java中没有对应的数据类型,因此一般而言都是用字符串来接受Json串,然而这会导致我们想读取Json串中不同属性值的不方便。
解决方案,把数据库表中的Json类型对应字段定义为一个Java实体,对应属性要一致,然后利用MybatisPlus提供给我们的Json处理器,将表中Json串转化为对应的Java对象。
由于mp没有将Json处理器的配置设置成全局配置的功能,所以要在@TableField注解内设置JackJson处理器,并在@TableName中设置autoResultMap属性值为true(默认为false),这样就能将表中Json串转化为我们自定义的Java实体类,从而方便读取其中的属性值。
用到的注解:@TableName(value="user",autoResultMap=true)
@TableField(typeHandler=JacksonTypeHandler.class)
自定义的Json实体类要添加个静态全参数构造器。