目录
- 概述
- 1、eq:等于条件
- 2、ne:不等于条件
- 3、gt:大于条件
- 4、ge:大于等于条件
- 5、lt:小于条件
- 6、le:小于等于条件
- 7、like:模糊查询条件
- 8、notLike:不包含关键字的模糊查询条件
- 9、左模糊查询条件
- 10、右模糊查询条件
- 11、isNull:字段为 NULL 的条件
- 12、isNotNull:字段不为 NULL 的条件
- 13、in:包含在给定集合中的条件
- 14、notIn:不包含在给定集合中的条件
- 15、between / notBetween:范围条件
- 16、apply:自定义 SQL 片段
- 17、nested:嵌套条件
- 18、or:或条件
- 19、and:与条件
- 20、orderBy:排序条件
- 22、group by:分组条件
- 23、having:分组后的条件
- 24、exists:存在子查询条件
- 25、notExists:不存在子查询条件
- 26、last:拼接 SQL 最后部分
- 27、复杂条件组合:
概述
MyBatis-Plus 中的 Wrapper 类可以用于构造复杂的查询条件,以便于生成更灵活的 SQL 查询语句。下面总结了一些常
见的 Wrapper 查询条件
1、eq:等于条件
queryWrapper.eq("column_name", value);
2、ne:不等于条件
queryWrapper.ne("column_name", value);
3、gt:大于条件
queryWrapper.gt("column_name", value);
4、ge:大于等于条件
queryWrapper.ge("column_name", value);
5、lt:小于条件
queryWrapper.lt("column_name", value);
6、le:小于等于条件
queryWrapper.le("column_name", value);
7、like:模糊查询条件
queryWrapper.like("column_name", "keyword");
8、notLike:不包含关键字的模糊查询条件
wrapper.notLike("column_name", "keyword");
9、左模糊查询条件
queryWrapper.likeLeft("column_name", "keyword");
10、右模糊查询条件
queryWrapper.likeRight("column_name", "keyword");
11、isNull:字段为 NULL 的条件
queryWrapper.isNull("column_name");
12、isNotNull:字段不为 NULL 的条件
queryWrapper.isNotNull("column_name");
13、in:包含在给定集合中的条件
queryWrapper.in("column_name", value1, value2);
14、notIn:不包含在给定集合中的条件
queryWrapper.notIn("column_name", value1, value2);
15、between / notBetween:范围条件
queryWrapper.between("column_name", minValue, maxValue);queryWrapper.notBetween("column_name", minValue, maxValue);
16、apply:自定义 SQL 片段
queryWrapper.apply("column_name = {0}", value);
17、nested:嵌套条件
queryWrapper.nested(i -> i.eq("column1", value1).or().eq("column2", value2));
18、or:或条件
queryWrapper.or(i -> i.eq("column1", value1).eq("column2", value2));
19、and:与条件
queryWrapper.and(i -> i.eq("column1", value1).eq("column2", value2));
20、orderBy:排序条件
queryWrapper.orderByAsc("column_name1", "column_name2");
queryWrapper.orderByDesc("column_name1", "column_name2");
22、group by:分组条件
wrapper.groupBy("column1", "column2");
23、having:分组后的条件
wrapper.having("SUM(column1) > 100");
24、exists:存在子查询条件
wrapper.exists("SELECT 1 FROM other_table ot WHERE ot.column_name = table_name.column_name");
25、notExists:不存在子查询条件
wrapper.notExists("SELECT 1 FROM other_table ot WHERE ot.column_name = table_name.column_name");
26、last:拼接 SQL 最后部分
wrapper.last("LIMIT 10");
27、复杂条件组合:
LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery();
wrapper.likeRight(User::getName, "A").or().likeLeft(User::getEmail, "@gmail.com").and(qw -> qw.gt(User::getAge, 25).lt(User::getAge, 35));