一、工作问题:
在工作中发现 使用MyBatis 时 在boolean 如果传值为 0时 ,并没有按照"0"进行筛选选,而是查出了所有的数据。
"<if test='exeStatus!=null and exeStatus!=" "'>", " and exe_status=#{exeStatus}", "</if>",
二、mybatis源码:
首先获取两个判断对象的类型,当拿一个字符串和一个数字判断的时候,
当Mybatis发现,这个字符串是可以转换成数字的,那么就会把这个字符串转成数字,然后再和这个数字判断。
return s.length() 0 ? 0.0D : Double.parseDouble(s)
三、解决:
直接删除 and exeStatus!=\"\" 即可
"<if test='exeStatus!=null '>", " and exe_status=#{exeStatus}", "</if>",
标签:数字,exeStatus,mybatis,字符串,test,查询 From: https://www.cnblogs.com/jasonBin/p/17409209.html