Spring Data JPA 8.PagingAndSortingRepository

版权声明:本文为博主原创文章,转载请注明出处。 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());

    }

猜你喜欢

转载自blog.csdn.net/hgx_suiyuesusu/article/details/80922731