请将这个方法public Page<User> selectUsers(Integer role, PageSort page) { log.info("批量查询用户信息,查询的角色权限:" + role); PageHelper.startPage(page.getPageNum(), page.getPageSize()); List<User> userList = null; if(role == -1){ userList = userInfoMapper.selectAll(); } else { User user = User.builder().role(role).build(); userList = userInfoMapper.select(user); } log.info("批量查询用户信息,查询的角色权限:" + role); return (Page<User>) userList; }中的查询结果去去调用pageQuery 方法
时间: 2024-03-17 19:44:13 浏览: 65
MyBatis 动态 SQL:灵活而强大的查询构建器.pdf
好的,这里是将 `selectUsers` 方法中的查询结果转换为调用 `pageQuery` 方法的示例代码:
```java
public PageInfo<User> selectUsers(Integer role, PageSort page) {
log.info("批量查询用户信息,查询的角色权限:" + role);
PageQueryInterface pageQuery = new PageQuery(page.getPageNum(), page.getPageSize(), page.getSort(), page.getOrder());
PageInfo<User> pageInfo = pageQuery(pageQuery, () -> {
List<User> userList = null;
if (role == -1) {
userList = userInfoMapper.selectAll();
} else {
User user = User.builder().role(role).build();
userList = userInfoMapper.select(user);
}
return userList;
});
log.info("批量查询用户信息,查询的角色权限:" + role);
return pageInfo;
}
```
在这个方法中,我们首先将 `PageSort` 对象转换为 `PageQuery` 对象,然后调用 `pageQuery` 方法进行分页查询。在 `pageQuery` 方法的第二个参数中,我们使用 Lambda 表达式来提供数据供应者 `supplier`。该 Lambda 表达式中的具体实现和 `selectUsers` 方法中的查询逻辑是一样的,只不过在返回查询结果时,我们将其封装成了 `PageInfo` 对象并返回。
阅读全文