- Pageable pageRequest = PageRequest.of(int page, int size);
- page:从第几页开始,第一页是0
- size:每一页查询数量
Pageable pageRequest = PageRequest.of(0,3);
Page<User> all = userRepository.findAll(pageRequest);
Page结果集属性 | 功能 |
---|---|
getTotalElements() | 总条数 |
getTotalPages() | 总页数 |
getNumberOfElements() | 当前页的查询条数 |
getSize() | 当前页的大小 |
getNumber() | 当前页码 |
getSort() | 当前排序规则 |
getPageable() | 当前页码的Pageable对象 |
Pageable pageable = all.getPageable();
当前页码Pageable属性 | 功能 |
---|---|
getPageNumber() | 当前页码 |
getPageSize() | 当前页码查询条数 |
hasPrevious() | 判断是否还有上一页 |
next() | 下一个页码的Pageable对象 |
而Pageable对象并没有判断是否还有下一页的功能
可以这样做
先用next()获取去下一页的Pageable对象的页码并判断 是否大于 或 等于 查询出来的 总页数
如果满足则下一页不存在:返回false
否则下一页存在:返回true
代码如下
if (pageable.next().getPageNumber() >= all.getTotalPages()) {
System.out.println("判断是否还有下一页:"+ false);
} else {
System.out.println("判断是否还有下一页:"+ true);
}
这里做测试使用,实际使用三元表达式即可
如:
return pageable.next().getPageNumber() >= all.getTotalPages()? false : true;
Pageable pageRequest = PageRequest.of(0,3);
Page<User> all = userRepository.findAll(pageRequest);
System.out.println("总条数:"+all.getTotalElements());
System.out.println("总页数:"+all.getTotalPages());
System.out.println("当前页的查询条数:" + all.getNumberOfElements());
System.out.println("当前页的大小:" + all.getSize());
System.out.println("当前页码:" + all.getNumber());
System.out.println("当前排序规则:"+all.getSort());
System.out.println("当前页码的Pageable对象"+all.getPageable());
Pageable pageable = all.getPageable();
System.out.println("当前页码"+pageable.getPageNumber());
System.out.println("当前页码查询条数"+pageable.getPageSize());
System.out.println("判断是否还有上一页"+pageable.hasPrevious());
if (pageable.next().getPageNumber()>=all.getTotalPages()) {
System.out.println("判断是否还有下一页:"+ false);
} else {
System.out.println("判断是否还有下一页:"+ true);
}