SpringBoot中MyBatis-plus 处理 MySQL的json字段数据
参考链接
https://blog.csdn.net/LiXiuu/article/details/88970255
给这个博客补充一下:
因为是我确实遇到的问题,同时也做个记录。
- 博客中提到: application.properties 中配置自定义转换类,而我项目中没有这个文件,我的配置文件是:application.yml 该文件在resources下;
这里边儿有个配置细节:
#配置mybaits自定义类型转换类所在的包
mybatis.type-handlers-package=com.lxx.campusstore这个要配置在:
mybatis-plus:
configuration:
type-handlers-package: com.data.xxx.xxx.mybatisJsonHandler
注意:这个最后一级目录是文件夹,是转换类的父级文件夹。如果配错了,就会找不到文件;阿斯顿发送到发
- 博客中 resultMap 中引用自定义转换
属性后边儿的 “typeHandler“ 要写到文件名,也就是类名,比上边儿的application配置文件多一级;
insert和update都是一样的 set字段后边儿都要加 typeHandler,而且要写到类名级别,也就是最后一级
- 自定义查询语句
注意:select属性:
parameterType属性,一般用"map",而不是实体类;
resultMap属性,千万别写成resultType,如果是resultType 是依然可以查询出来,只不过查询出来的Json字段是null,而且把sql语句放到数据库工具里是可以正常查出来的,而且还是Json。
- 另外一点就是别忘了改实体类型
也就是 private JSONObject consignee; Entity中声明时Json字段应该这么写