公司项目需要给某个字段加一个模糊查询。
在这里我使用了动态sql的if标签,查询字段的值 为 0和1 分别代表 未生成 和已生成状态。
当传0 查未生成状态时一直查全部,把未生成和已生成状态全部查出来了,sql不报异常。
突然想起来可能是if标签里的问题。排查一下,果然是。
刚开始写的if标签既判断参数不为空,又判断了参数不为字符串空
如下图示
把不为字符串空删掉即可解决,如下图。太菜不知道问题的原因,记录一下问题,懂了再来补充。
大胆猜测一下 ,传0时,if标签会将 0 这个值 解析成空字符串 进判断后不执行判断里面的sql。1并不受影响。希望有大佬能解决我的疑惑。