Mybatis查询参数为0,数据异常。为什么?
问题描述:
我当时正在做毕业设计过程,发现当查询参数为0时,mybatis查询结果不正确。 Mapper配置如图enter image description hereMybatis查询参数为0,数据异常。为什么?
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
) ...
你只检查所有的参数,对空和空字符串。如果你为其中的任何一个传递0,这些测试将通过,并且SQL将被更改为包含那些零。