PagingAndSortingRepository接口

PagingAndSortingRepository

  • 接口提供了分页与排序功能
Iterable findAll(Sort sort); //排序 
Page findAll(Pageable pageable); //分页查询(含排序功能) 
  • 实列(实现该接口即可直接掉用)
public class SpringDataTest {
   private ApplicationContext ctx = null ;
   PersonRepsotory personRepsotory = null;

   {
       ctx =  new ClassPathXmlApplicationContext("applicationContext.xml");
       personRepsotory = ctx.getBean(PersonRepsotory.class);

 } 

public void testPageingAndSortingRepsotory(){
       // pageNo 是从0 开始
       int pageNo = 3-1; //第几页 此为第三页
       int pageSize = 5;
       // Pageable 接口通常使用其PageRequest 实体类,其中封装了需要分页的信息
       // 排序相关的 Sort 封装了培训的信息

       //Order 是具体针对某一个属性进行升序还是降序
       Order order1 = new Order(Direction.DESC,"id");
       Order order2 = new Order(Direction.ASC,"email");
       Sort sort = new Sort(order1,order2);
       PageRequest pageable = new PageRequest(pageNo,pageSize,sort);
      // PageRequest pageable = new PageRequest(pageNo,pageSize);


       Page page = personRepsotory.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());
   }

你可能感兴趣的:(SpringData)