相关函数如下:
在执行查询方法时,可以传入一个PageRequest对象,代表进行分页查询。
PageRequest对象代表了查询的条件和约束,通常包含当前页数,每页几条数据。
也可以在分页查询时指定Direction或Sort。
查询的结果为Page<T>对象,包含当前页所及所有数据相关信息。
Page对象常用方法:
getTotalPages() 总共有多少页
getTotalElements() 总共有多少条数据
getNumber() 获取当前页码
getSize() 每页指定有多少元素
getNumberOfElements() 当前页实际有多少元素
hasContent() 当前页是否有数据
getContent() 获取当前页中所有数据(List<T>)
getSort() 获取分页查询排序规则
isFirst() 当前页是否是第一页
isLast() 当前页是否是最后一页
hasPrevious() 是否有上一页
hasNext() 是否有下一页
遍历每一页数据:
@Autowired
private pageDisplay pagedisplay;
@Test
public void contextLoads_page() {
// 排序(排序规则)
Order idOrder = new Order(Direction.DESC, "id");
Order nameOrder = new Order(Direction.ASC, "name");
Sort sort = new Sort(idOrder, nameOrder);
// 从第一条数据开始,每一页数据2条,排序规则为 sort
Pageable pageable = new PageRequest(1, 2, sort);
Page<Customer> findAll = null;
List<Customer> content = null;
///输出(判断下一页是否存在)
while(pageable != null) {
findAll = pagedisplay.findAll( pageable);
content = findAll.getContent();
System.out.println("------------------------------");
System.out.println( content ); // list 数据
System.out.println("------------------------------");
pageable = findAll.nextPageable();
}
}
喜欢的朋友可以关注我的个人公众号,后台回复java资料可免费领取资源。