問題のあるコード:
以下は mybatis の XML ステートメントです。
<select id="userList" resultType="com.sxkj.example.user" parameterType="com.sxkj.example.user">
select * from good
<where>
<if test="userid!=null and userid!=''">
userid=#{userid}
</if>
<if test="state!=null and state='' ">
and state=#{state}
</if>
</where>
order by id desc
</select>
state フィールドは int 型です。パラメータ state が 0 の場合、その状態に入ることができないという条件により、スワイプによってデータが選択されなくなります。
state の値が 0 の場合、そのデータ型は Integer であるため、この判断は false となり、Mybatis は 0 を ' ' とみなします。
解決;
<if test="state!=null ">
and state=#{state}
</if>