当前位置: 代码网 > it编程>编程语言>Java > mybatisplus下划线驼峰转换的问题解决

mybatisplus下划线驼峰转换的问题解决

2024年10月30日 Java 我要评论
问题儿:对象中包含下划线的字段儿查询不出来在mybatis-plus中,默认开启了下滑线-驼峰转换会把数据库字段中的下划线自动转换成驼峰形式,然后去匹配实体类对象的字段online_num ->

问题儿:对象中包含下划线的字段儿查询不出来

mybatis-plus中,默认开启了下滑线-驼峰转换
会把数据库字段中的下划线自动转换成驼峰形式,然后去匹配实体类对象的字段

online_num -> onlinenum

如果在一个实体类中存在一个带下划线的字段,查询出来为null

 private integer online_num;

即使用了@tablefield()注解去指定映射关系,查询结果也为null

 @tablefield("online_num")
 private integer online_num;

问题就是出现在了驼峰转换这里,因为已经指明了映射关系,所以把驼峰转换关掉就行:
yml:

mybatis-plus:
  configuration:
    map-underscore-to-camel-case: false

properties:

mybatis-plus.configuration.map-underscore-to-camel-case=false

但是这里有个问题,你关了自动驼峰转换,所有字段都要通过@tablefield()注解去指定映射关系或者在mapper.xml中指定映射关系,这样增加了很多工作量。所以非必要情况下类字段还是不要用_去命名字段,省得麻烦。

实在不行,如果一定要用下划线字段,看看具体的原因是什么:

①如果是序列化或者反序列话需要的话,可以用@jsonproperty和@jsonalias来解决
②如果是tostring需要,那就重写一下object的tostring方法
③其他情况的话,可以加一个字段比如a_b,就加一个ab字段,然后手写一下a_b字段对应的getter,setter,使它们指向ab字段,如果不想转字段就转对象,查询用一个对象,然后对业务一个对象,查询出来后就转成业务对象,奇技淫巧还是很多滴~

到此这篇关于mybatisplus下划线驼峰转换的问题解决的文章就介绍到这了,更多相关mybatisplus下划线驼峰转换内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com