LambdaQueryWrapper的条件构造器方法对应Sql
MyBatis-Plus,LambdaQueryWrapper 的条件构造器方法对应Sql
·
【LambdaQueryWrapper】使用方法
代码示例:
LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Employee::getUsername,employee.getUsername());
Employee emp = employeeService.getOne(queryWrapper);
方法:
setSqlSelect | SELECT 查询字段 |
---|---|
where | WHERE 语句,拼接 + WHERE 条件 |
where | WHERE 语句,拼接 + WHERE 条件 |
and | AND 语句,拼接 + AND 字段=值 |
andNew | AND 语句,拼接 + AND (字段=值) |
or | OR 语句,拼接 + OR 字段=值 |
orNew | OR 语句,拼接 + OR (字段=值) |
eq | 等于= |
allEq | 基于 map 内容等于= |
ne | 不等于<> |
gt | 大于> |
ge | 大于等于>= |
lt | 小于< |
le | 小于等于<= |
like | 模糊查询 LIKE |
notLike | NOT LIKE模糊查询 |
in | IN 查询 |
notIn | NOT IN 查询 |
isNull | NULL 值查询 |
isNotNull | IS NOT NULL |
groupBy | 分组 GROUP BY |
having | HAVING 关键词 |
orderBy | 排序 ORDER BY |
orderAsc | Asc 排序 ORDER BY |
orderDesc | DESC 排序 ORDER BY |
exists | EXISTS 条件语句 |
notExists | NOT EXISTS 条件语句 |
between | BETWEEN 条件语句 |
notBetween | NOT BETWEEN 条件语句 |
addFilter | 自由拼接 SQL |
last | 拼接在最后,例如:last(“LIMIT 1”) |
【QueryWrapper】使用方法与实例
1.使用方法
2.使用实例
【1】查询数据库指定字段
queryWrapper.select("id, name, create_date");
【2】查询数据库指定日期,忽略时分秒,日期相等即可查出
queryWrapper.apply("date_format(create_date, '%Y-%m-%d') = {0}", date);
【3】查询两个时间点之间的数据
1.包含昨天在内的七天:
queryWrapper.le("cur_date", DateUtils.getYesterday());
queryWrapper.ge("cur_date", DateUtils.getbeforeDays(DateUtils.getYesterday(), 7));
2.between方法
queryWrapper.between("complete_time", "2021-01-01 12:00:00", "2021-03-01 12:00:00");
3.附:获取某天的几天前的日期,年月日格式
public static String getbeforeDays(String appointDay,int days) {
LocalDate date = parseStringToDate(appointDay);
LocalDate beforeday = date.plusDays(-days);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return formatter.format(beforeday);
}
【4】设置 limit,通过 last()
queryWrapper.last("limit 0,1");
【5】查询某字段包含某值的数据
queryWrapper.like("name", name);
【6】某字段汇总值
queryWrapper.select("IFNULL(sum(quantity),0) as total");
【7】按照某字段倒序排列
queryWrapper.orderByDesc("create_date");
【8】按照某字段分组
queryWrapper.groupBy("gasstation_id");
【9】或
queryWrapper.and(wrapper -> wrapper.eq("type", 1).or().eq("type", 2));
【10】查询 id 在数据库中的值
List<Long> Ids;
queryWrapper.in("id", Ids);
【11】mapper.xml
中 like 用法
user.name like "%"#{param.name}"%"
更多推荐
所有评论(0)