最近在写需求的时候,需要根据传入参数level去过滤结果。测试发现,当传入参数为0的时候,判断结果无效。
<if test="level != null and level != '' ">
and level=#{level}
</if>
经过总结与反复测试,得出结论,在这里记录一下。
Mybatis对于传入Integer类型的参数,且传的值为0时,会把他看作空字符串。只需要去掉<if>标签里的空值判断即可。
<if test="level != null">
and level=#{level}
</if>