<if test="status!= null and status!= '' ">
status=#{status},
</if>
在mybatis中这样写的话,如果是String类型的话是没有任何问题的,但是如果是传入的Integer的话就会出现传入0被判断为空的现象,但是也不是必现的,为什么不是必现的也不太清,但是如果变量的值是0,即 status= 0, mybatis在进行 status!= ‘’ 的时候会认为 status的值是空字符串, 即 status== ‘’ 为true。所以如果是Integer类型只需要判断 != null 即可