querydsl QueryResults 获取总条数总页数
时间: 2023-08-24 21:24:58 浏览: 197
querydsl
使用 Querydsl 进行查询时,可以通过 QueryResults 类获取查询结果以及总条数和总页数。具体实现如下:
```java
// 定义查询表达式
JPAQuery<User> query = new JPAQuery<>(entityManager);
QUser user = QUser.user;
// 执行查询并获取结果
QueryResults<User> queryResults = query.select(user).from(user)
.where(user.age.gt(18))
.orderBy(user.name.asc())
.offset(0).limit(10)
.fetchResults();
// 获取查询结果
List<User> users = queryResults.getResults();
// 获取总条数和总页数
long total = queryResults.getTotal();
long totalPages = queryResults.getTotal() / queryResults.getLimit() + (queryResults.getTotal() % queryResults.getLimit() == 0 ? 0 : 1);
```
其中,`getTotal()` 方法返回总条数,`getLimit()` 方法返回每页大小,通过总条数和每页大小计算得到总页数。
阅读全文