LambdaQueryWrapper 去重分页查询
时间: 2023-11-07 11:06:29 浏览: 131
很好用性能高的一个分页查询
LambdaQueryWrapper 是 MyBatis-Plus 提供的查询构建器,它支持链式调用,可以方便地构建复杂的查询条件。在使用 LambdaQueryWrapper 进行去重分页查询时,可以通过使用 selectDistinct 方法实现去重,再配合 page 方法实现分页。
下面是一个示例代码:
```java
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<User>()
.selectDistinct(User::getName) // 去重字段
.eq(User::getAge, 18) // 其他查询条件
.orderByDesc(User::getId); // 排序条件
Page<User> page = new Page<>(1, 10); // 第一页,每页10条记录
IPage<User> userPage = userService.page(page, queryWrapper);
List<User> userList = userPage.getRecords();
```
以上代码中,我们通过 selectDistinct 方法指定了需要去重的字段(这里是用户的姓名),然后传入其他的查询条件(这里是年龄等于18),最后通过 orderByDesc 方法指定了排序条件(这里是按照用户ID倒序排列)。最后调用 page 方法实现分页,并返回一个 IPage 对象。
阅读全文