mybatis查询返回为null?还有这种可能(答案和方案在最下面)

mybatis查询返回为null?还有这种可能(答案和方案在最下面),第1张

项目场景:

vue+springboot+mybatis+mysql前后端分离信息管理系统


问题描述

发现重复向数据库添加数据,而我限制了添加条件,于是很不解。最后发现是查询语句出错,返回值为null,导致限制条件未生效......在此之前我把前后端代码翻了个遍都没找到错误.....

所以一定要多调试!调试玩不转的,你至少该在一些关键位置用输出看看信息,否则你连错都不知道怎么错的,血泪啊!

发现是查询出错,我首先看了看sql语句是不是出错了,但由于太简单,很明显没有错误。于是就盯上了数据库编码格式问题,想着是不是查询条件是中文的原因所以数据库出错了,因为刚好昨天被坑过,可这次却不是。

于是浪费很多时间后,我再一次把目光转回了代码,可代码也很简单啊,所以我一直认为是查询条件是中文导致的,所以尝试了个各种办法,包括不限于改数据库配置文件,修改项目的application文件,把&{}换成#{}让其不预编译,反正网上关于传中文出问题的解决方法都试完了,哪怕有些文件看起来没错我都要改一下,看是不是拼写错误。。。

最后终于发现根本问题出在驼峰式的字段查询返回值全为空,而那张表我有好几个驼峰字段,这一波啊是mybatis给了我一计重重的铁拳,让你丫的不学无术,以前我是一点都没在意过mybatis的问题下意识把它当成了sprintboot的一部分,还是用的太少了......

所以如果你也出现了mybatis查询返回为空的情况,其他各方面都没问题,又定义了驼峰字段,大概就是跟我一样摔坑里了,解决方案:是:

#springboot项目 配置文件加
mybatis:
  configuration:
    map-underscore-to-camel-case: true

#不是springboot项目 在mybatis配置文件中加入

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/905850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-15
下一篇 2022-05-15

发表评论

登录后才能评论

评论列表(0条)

保存