Mybatis if标签的 != null 和 != '' 遇到的坑

公司项目需要给某个字段加一个模糊查询。

在这里我使用了动态sql的if标签,查询字段的值 为 0和1 分别代表 未生成 和已生成状态。

当传0 查未生成状态时一直查全部,把未生成和已生成状态全部查出来了,sql不报异常。

突然想起来可能是if标签里的问题。排查一下,果然是。

刚开始写的if标签既判断参数不为空,又判断了参数不为字符串空

如下图示
在这里插入图片描述
把不为字符串空删掉即可解决,如下图。太菜不知道问题的原因,记录一下问题,懂了再来补充。

在这里插入图片描述
大胆猜测一下 ,传0时,if标签会将 0 这个值 解析成空字符串 进判断后不执行判断里面的sql。1并不受影响。希望有大佬能解决我的疑惑。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值