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/(以上内容转自此篇文章)

posted @ 2017-12-20 18:42  EasonJim  阅读(2743)  评论(1编辑  收藏  举报