版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/hgx_suiyuesusu/article/details/80922731
PagingAndSortingRepository
该接口提供了分页与排序功能 ,继承自
CrudRepository <T,ID>
方法如下:
修饰符和类型 | 方法和描述 |
---|---|
Page | findAll(Pageable pageable) 返回Page满足Pageable对象中提供的分页限制的实体。 |
Iterable | findAll(Sort sort) 返回按给定选项排序的所有实体。 |
- 使用范例:
@Test
public void testPagingAndSortingRepository() {
//pageNo 从0开始
int pageNo = 1 - 1;
int pageSize = 4;
// PageRequest pageable = PageRequest.of(pageNo, pageSize);
//Pageable 接口通常使用的其 PageRequest 实现类. 其中封装了需要分页的信息
//排序相关的. Sort 封装了排序的信息
//Order 是具体针对于某一个属性进行升序还是降序.
Sort.Order order = Sort.Order.desc("id") ;
Sort.Order order1 = Sort.Order.asc("email") ;
Sort sort = Sort.by(order1,order) ;
PageRequest pageable = PageRequest.of(pageNo,pageSize,sort) ;
Page<Person> page = personRepository.findAll(pageable);
System.out.println("总的记录数:" + page.getTotalElements());
System.out.println("当前第几页" + (page.getNumber() + 1 ));
System.out.println("总的页数:" + page.getTotalPages());
System.out.println("当前页的list:" + page.getContent());
System.out.println("当前页的记录数:" + page.getNumberOfElements());
}
- 详情参考:spring-data-api || 官方文档