mybatis编写sql传入条件值为0时无效

mybatis编写sql传入条件值为0时无效

条件查询时入参为0无效

<select name="status" id="status" class="layui-input">
                            <option value="">全部</option>
                            <option value="0">申请中</option>
                            <option value="1">退款中</option>
                            <option value="2">退款成功</option>
                            <option value="3">已拒绝</option>
                            <option value="4">已取消</option>
                        </select>

选择条件为申请中时,传入后台条件为0,sql打印发现没有拼接该条件

经过查询得知

 <if test="order.orderSn != null and order.orderSn != ''">
                and r.order_num LIKE CONCAT('%',#{order.orderSn},'%')
            </if>
           <--下面的条件判断了空与空串,在mybatis中传入值为int时,判断空串时会将0值转换成null导致条件失效;
           只需去掉空串判断-->
            <if test="order.status != null and order.status != '' ">
                and r.status = #{order.status}
            </if>

编写的时候复制时将空串判断一并加上导致此问题,查证之后解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值