MyBatis参数为Integer型并赋值为0时判断失误的问题解决

mybatis.xml中有if判断条件判断参数不为空时,赋值为0的Integer参数被MyBatis判断为空,因此不执行<if test="param != null and param != ''"></if>的SQL。

所以在做项目时一定要注意,用到MyBatis时,避免用0来做值。

解决方法:

<if test="status !=null and (status!='' or status == 0)">
AND t1.`STATUS` = #{status}
</if>
加上or后面的一段就可以了。

或者直接把status!=''去掉。

参考:

http://blog.csdn.net/qing_gee/article/details/50518795

http://blog.csdn.net/qq_25667339/article/details/44156049/(以上内容转自此篇文章)

原文地址:https://www.cnblogs.com/EasonJim/p/8075311.html