开发中遇到的问题---【当类型设置为Integer时,传入的值为0,会将其转化为空字符串,从而造成查询数据异常】


问题:今天在写一个普通的查询,条件查询状态为0时,查询总是异常,debug获取的参数都没问题,但查询后的结果是查询所有的数据

 sql日志:select * from mobile_info WHERE LIMIT ? 

原因:当数据类型设置为Integer,传入的值为0时,在mybatis会将其转化为空字符串,从而无法进入if标签中进行查询。在数据库可视化工具中,当输入的batchStatus=0或者空字符串查询的结果是相同的。 当去掉mapper中的sql语句

and ispType != ''

时,就可以查询了(即使在初始化查询的时候,也不受影响,因为初始加载页面各个条件默认为null)

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM