mybatis查询传入为0时,失效
·
记个坑!
当Java实体对象为整型时
private Integer status;
<if>标签做判断时,传入的值为0,即status的值为0,
0在mybatis等于""
也就是status==’‘,因此在这里0作为查询条件失效了
<if test="status != null and status != '' ">and status = #{status}</if>
解决方案
1.添加一个为0判断or status == 0
<if test="status != '' and status != null or status == 0">
and orders.status = #{status,jdbcType=INTEGER}
</if>
2.去除为空字符判断
<if test="status != null">
and orders.status = #{status,jdbcType=INTEGER}
</if>
以上解决方式的意思是一致:将有为空的可能去掉。
参考https://blog.csdn.net/qq_19331985/article/details/105125995
参考 0不识别-CSDN博客" target="_blank">mybatis查询传入为0时,失效_<if test="null != status and status != ''"> 0不识别-CSDN博客
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)