mybatis判断是否为空一般为:
<if test="state!=null and state!=''">state = #{state},</if>
但是如果传入的值为0,就不运行该条,因为mybatis默认0和""相等,要解决这个问题,可以把代码改为:
<if test="state!=null and state!='' or state==0">state = #{state},</if>
//或者把判断是否为空字符串去掉,变为:
<if test="state!=null">state = #{state},</if>
或者将0转化为String类型,也可以解决该问题