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>