今日列表查询过滤时发现一个mybatis参数问题,当状态为1时返回过滤数据没有问题,不过状态为0时发现查询无法进行正常过滤,这是我Mapper里面的写法<if test="status != null and status != ''>AND status =#{status}</if>
和平常是一样,经过多次测试和网络资料发现原因:
mybatis的Integer类型参数如果有为0的可能,在if标签判断中还应该单独加入判断,否则参数0会当成空字符串处理,所以我们应该改写为这种写法:
<if test="status != null and status != '' or status==0">
AND status =#{status}
</if>
转载于:https://www.cnblogs.com/houzheng/p/8745390.html
如果对你有所帮助记得帮作者点点赞!!!