如何解决在xml中传入Integer整型参数为0时条件失效问题?
·
问题描述
在更新语句中加了条件判断,当参数为0时,会出现更新异常的情况!

问题研究
报错信息的sql日志为:update rule_description where version = x and code = 'xxx',发现没有拼接if标签中的sql语句。
原因是当数据类型设置为Integer,传入的值为0时,在mybatis会将其转化为空字符串,从而无法拼接if标签中的sql语句,另外在可视化数据库操作工具中执行查询语句时,当输入的effectStatus=0或者空字符串查询的结果也是相同的!
解决方案
去掉if标签中的and effectStatus != ''条件就可以正常更新了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)