使用 LambdaQueryWrapper 来查询数据库中 当日 本周 本月 本年的数据
时间: 2023-07-25 16:17:11 浏览: 233
mysql 查询当天、本周,本月,上一个月的数据
好的,我理解了你的问题。使用 LambdaQueryWrapper 来查询数据库中当日、本周、本月、本年的数据,可以通过以下方式实现:
1. 当日数据查询:
```java
// 获取当日的起止时间
LocalDateTime start = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
LocalDateTime end = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
// 构建查询条件
LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.between("create_time", start, end);
// 执行查询
List<Entity> entityList = entityMapper.selectList(queryWrapper);
```
2. 本周数据查询:
```java
// 获取本周的起止时间
LocalDateTime start = LocalDateTime.now().with(DayOfWeek.MONDAY).with(LocalTime.MIN);
LocalDateTime end = LocalDateTime.now().with(DayOfWeek.SUNDAY).with(LocalTime.MAX);
// 构建查询条件
LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.between("create_time", start, end);
// 执行查询
List<Entity> entityList = entityMapper.selectList(queryWrapper);
```
3. 本月数据查询:
```java
// 获取本月的起止时间
LocalDateTime start = LocalDateTime.now().with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN);
LocalDateTime end = LocalDateTime.now().with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX);
// 构建查询条件
LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.between("create_time", start, end);
// 执行查询
List<Entity> entityList = entityMapper.selectList(queryWrapper);
```
4. 本年数据查询:
```java
// 获取本年的起止时间
LocalDateTime start = LocalDateTime.now().with(TemporalAdjusters.firstDayOfYear()).with(LocalTime.MIN);
LocalDateTime end = LocalDateTime.now().with(TemporalAdjusters.lastDayOfYear()).with(LocalTime.MAX);
// 构建查询条件
LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.between("create_time", start, end);
// 执行查询
List<Entity> entityList = entityMapper.selectList(queryWrapper);
```
以上代码中,`Entity` 是你要查询的实体类,`entityMapper` 是对应的 Mapper 接口。在构建查询条件时,我们使用了 `between` 方法来指定时间范围,然后通过 `selectList` 方法来执行查询并返回结果。
阅读全文