问题:我们要查询出最后一列状态为0的数据
然后,本地启动项目,使用swagger调试,传参如下
然后我们看查询结果,并没有把这个参数拼接到查询sql里
我们看xml文件里的拼接语句
这里我们做了一个判空,但是我们传的参数不为空,为什么拼接之后的sql没有把这个参数拼上
这是因为:mybatis接收Integer参数时,若参数值为0,为被解析为空字符串’ '。
解决方案
1.只判断Integer参数不为null,不用判断参数不为空字符串
2.多加一个判断,可以判断参数不等于0
然后我们调试下,会发现,拼接之后的sql是正常的