MybatisPlus怎么处理Mysql的json类型


本文小编为大家详细介绍“MybatisPlus怎么处理Mysql的json类型”,内容详细,步骤清晰,细节处理妥当,希望这篇“MybatisPlus怎么处理Mysql的json类型”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、在数据库表定义JSON字段;2、在实体类加上@TableName(autoResultMap = true)、在JSON字段映射的属性加上@TableField(typeHandler = JacksonTypeHandler.class);1.实体类中有个属性是其他对象,或者是List;在数据库中存储时使用的是mysql的json格式,此时可以用mybatis plus的一个注解@TableField(typeHandler = JacksonTypeHandler.class)这样在存入是就可以把对象自动转换为json格式2.那么取出时怎么进行映射呢,有分为两种情况a:当没有使用到xml时:b:当使用了xml文件时:MyBatis Plus有一个很大的缺陷,就是insert和select的时候使用的ResultMap是不同的,修复的办法就是在实体类上增加注解@TableName(autoResultMap = true)。但是这个autoResultMap并不能使用在自定义的方法上,只在MyBatis Plus内置方法上生效。展示autoResultMap存在的问题实体类Person该实体类中有自定义的typehandler: IntegerListTypeHandler, StringListTypeHandler自定义方法拿不到一些字段因为Person中的orgIds和hobbies需要自定义的typeHandler,自定义的方法使用的是resultType=Person,而不是生成的ResultMap免费云主机域名,所以都是null改进设置@ResultMap(“mybatis-plus_Person”)命名规则就是:mybatis-plus_{实体类名}个人理解MyBatis Plus本身并不是一个动态的ORM,而只是在mybatis初始化的时候,为mybatis提供常用的SQL语句,resultMap设置,并不会改变MyBatis本身的行为常见问题@TableField(typeHandler = IntegerListTypeHandler.class)没有生效:自定义的方法上没有配置resultTypeJacksonTypeHandler支持 MVC JSON 解析支持 MySQL JSON 解析传统的方法是通过 XML SQL 的 resultMap 来做 typeHandler 映射处理,但是这样会影响 MP 的功能,所以 JacksonTypeHandler 正好可以兼容 MP 的功能和满足 支持 MySQL JSON 解析。FastjsonTypeHandler支持 MVC JSON 解析不支持 MySQL JSON 解析可以通过 XML 支持,只是会失去 MP 特性。注意事项:MVC JSON 解析时,可以不用加 @TableName(value = “t_test”, autoResultMap = true) 【高亮部分】,但是 MySQL JSON 解析查询的时候,如果不加,查出来为 nullMySQL JSON 解析查询时,只支持JSON格式:{“name”:“Tom”,“age”:12},不支持:{“name”:“Tom”,“age”:12} 和 “{“name”:“Tom”,“age”:12}”确保mysql的版本是5.7+读到这里,这篇“MybatisPlus怎么处理Mysql的json类型”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: python opencv图像的高通滤波和低通滤波怎么实现

pythonopencvpython免费云主机域名opencvpythonopencv相关推荐: Flask一对多关系级联删除怎么实现本文小编为大家详细介绍“Flask一对多关系级联删除怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Flask一对多关…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/18 19:47
下一篇 03/18 19:47

相关推荐