我在做毕业设计过程中,发现当查询参数为0时,mybatis查询结果不正确。 Mapper配置如图enter image description here
status参数为Integer,MySQL数据库字段类型为int,当status为0时,结果错误,1,2,3,4正确。 请熟悉mybatis的大神们指点下。
最佳答案
当您的状态参数 = 0 时,您的 SQL 将是:
SELECT rr.*, cc.* from (
SELECT * FROM recruitment r
WHERE 1=1
AND r.rec_status = 0
) ...
您只是根据 null 和空字符串检查所有参数。如果您为其中任何一项传递 0,则这些测试将通过并且 SQL 将更改为包含这些零。
关于java - mybatis查询参数为0,数据异常。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43524078/