这个问题其实之前很早就已经出现并且解决了,但最近又遇到了,又翻了之前的笔记,就想着记录一下。
首先,看一下判断失效的情况:
<if test="pushResult != null and pushResult != ''">
push_result = #{pushResult }
</if>
在这里我们有时可能写的时候回直接复制粘贴,然后一不留神就可能出现这种问题,这里面MyBatis内部会将我们传入的值为0的会认为它是个空串,这样判断结果就是false,那么自然就不会执行内部的sql,所以正确的解决办法就是:
去掉 “ != ’ ’ ”的空串判断
改为:
<if test="pushResult != null ">
and push_result = #{pushResult}
</if>
这样就可以生效了。
日拱一卒,得寸进尺。