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

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

 sql日志:select * from mobile_info WHERE LIMIT ? 

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

and ispType != ''

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

 

 

 

 

 

posted on 2019-12-03 12:26  少年攻城狮  阅读(2573)  评论(0编辑  收藏  举报

导航