mybatis-plus之ne条件判null失效问题
在使用 MyBatis Plus 的 QueryWrapper 或 LambdaQueryWrapper 时,.ne() 方法用于生成 SQL 中的 不等于(<>) 条件。但 .ne() 并不能直接用于判断 非空( MyBatis Plus 不会将其转换为 SQL 中的 IS NOT NULL) 条件,这是导致 .ne(XXX::getXxx, null) 查询条件失效的原因。
要实现“字段不为 NULL”的查询条件,需要使用 MyBatis Plus 提供的 .isNotNull(SFunction) 方法:
.isNotNull(XXX::getXxx);
总结:
方法 |
SQL 效果 | 用途 |
.ne(Entity::getField, value) | field <> ? | 判断字段不等于某个值 |
.isNotNull(Entity::getField) | field IS NOT NULL | 判断字段不为空 |
.isNull(Entity::getField) | field IS NULL | 判断字段为空 |
上一篇: 几秒钟就充满电!科学
下一篇: 暂无数据