java - mybatis查询参数为0,数据异常。为什么?

标签 java mysql spring mybatis

我在做毕业设计过程中,发现当查询参数为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/

相关文章:

java - 用正则表达式解析日志

java - 阵列的频率分布

php - 如果它们具有相同的名称,则回显 fetch_array 行

mysql - 获取复杂查询的计数结果

java - 带注释 Controller 的 SpringMVC : requested resource is not available

java - 如何在 Spring 应用程序上下文中扩展已定义的列表和映射?

java - 查找并选择手机内存中的文件

java - 如何正确调试Spring Events?

mysql - org.apache.spark.sql.AnalysisException : cannot recognize input near 'num' ':' '=' in expression specification;

java - 组件需要名为 'userService' 的 bean,但无法找到