mybatis 参数为Integer型数据并赋值0时,0被当做空处理,解决及原因

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

mybatis 参数为Integer型数据并赋值0时,0被当做空处理:

mybatis.xml中有if判断条件判断参数不为空时,赋值为0的Integer参数被mybatis判断为空, 不执行的sql。

解决方法: 判断非空改为:

用到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.

转载于:https://my.oschina.net/leemoor/blog/750545

你可能感兴趣的:(java,javascript,python)