Mybatis Integer 类型,值为 0 被认为是空字符串; 以此作为条件时,会呈现值为 0 时,条件为空的景象。如果 dataStatus 是 Integer 类型 不须要判断 字符串 = ” 条件;只有 参数为 String 类型时 才须要判读。
<if test="param!=null and param.dataStatus!=null and param.dataStatus!='' ">
AND t.DATA_STATUS = #{param.dataStatus}
</if>
当参数为 Integer 类型时 应该改为如下判断
<if test="param!=null and param.dataStatus!=null">
AND t.DATA_STATUS = #{param.dataStatus}
</if>