Mybatis-plus sql语句LT、LE、EQ、NE、GE、GT的用法
作者:Yweir
本文介绍了如何使用MyBatis-Plus中的QueryWrapper类来构建复杂的查询条件,包括allEq、eq、ne、gt、ge、lt、le、between、notBetween等方法,通过链式调用这些方法,可以方便地组合多个条件,生成相应的SQL查询语句
介绍
allEq 全部eq(或个别isNull)
allEq(Map<R, V> params) allEq(Map<R, V> params, boolean null2IsNull) allEq(boolean condition, Map<R, V> params, boolean null2IsNull)

- 例1: allEq({id:1,name:“老王”,age:null})—>id = 1 and name = ‘老王’ and age is null
- 例2: allEq({id:1,name:“老王”,age:null}, false)—>id = 1 and name = ‘老王’
eq 等于 =
- 例: eq(“name”, “老王”)—>name = ‘老王’
ne 不等于 <>
- 例: ne(“name”, “老王”)—>name <> ‘老王’
gt 大于 >
- 例: gt(“age”, 18)—>age > 18
ge 大于等于 >=
- 例: ge(“age”, 18)—>age >= 18
lt 小于 <
- 例: lt(“age”, 18)—>age < 18
le 小于等于 <=
- 例: le(“age”, 18)—>age <= 18
between BETWEEN 值1 AND 值2
- 例: between(“age”, 18, 30)—>age between 18 and 30
notBetween NOT BETWEEN 值1 AND 值2
- 例: notBetween(“age”, 18, 30)—>age not between 18 and 30
示例代码
假设我们有一个名为 User 的实体类,并且我们想要根据某些条件查询用户列表:
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.util.List;
public class UserService {
public List<User> getUsersByConditions() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 构建查询条件
queryWrapper.eq("age", 20) // 年龄等于20
.ne("status", "inactive") // 状态不等于'inactive'
.gt("score", 80) // 分数大于80
.ge("registration_date", "2023-01-01") // 注册日期大于等于2023年1月1日
.lt("last_login", "2023-12-31") // 最后登录时间小于2023年12月31日
.le("update_time", "2024-01-01"); // 更新时间小于等于2024年1月1日
// 执行查询
return userMapper.selectList(queryWrapper);
}
}
在这个例子中:
我们使用了 QueryWrapper 来构建复杂的查询条件。
通过链式调用这些方法,可以非常方便地组合多个条件,从而生成相应的 SQL 查询语句。
请注意:
实际使用时你需要替换 “column_name” 和 value 为你的具体字段名和值,并确保类型匹配正确。
此外,如果你使用的是最新版本的 MyBatis-Plus,可能还会有一些额外的方法或改进,因此建议查阅官方文档获取最准确的信息。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
