mybatis 参数为Integer型数据并赋值0时,0被当做空处理:
mybatis.xml中有if判断条件判断参数不为空时,赋值为0的Integer参数被mybatis判断为空, 不执行<if test="param != null and param != ''"></if>的sql。
解决方法: 判断非空改为:<if test="param != null"</if>
用到mybatis时,避免用0来做值
官方解释: https://commons.apache.org/proper/commons-ognl/language-guide.html
Interpreting Objects as Booleans Any object can be used where a boolean is required. OGNL interprets objects as booleans like this: If the object is a Boolean, its value is extracted and returned; If the object is a Number, its double-precision floating-point value is compared with zero; non-zero is treated as true, zero as false; If the object is a Character, its boolean value is true if and only if its char value is non-zero; Otherwise, its boolean value is true if and only if it is non-null.