SpringData的PagingAndSortingRepository接口的实现分页和排序

 SpringData的所有接口

PagingAndSortingRepository接口 ,其中提供了这些方法提供使用,同时继承了其父接口的方法

下面是不带排序和查询条件的分页

    @Test
	public void testPagingAndSortingRepository() {
		//pageNo从0开始
		int pageNo = 3 - 1;
		int size = 10;
		Pageable pageable = new PageRequest(pageNo, size);
		Page page =  personRepositoiry.findAll(pageable);
		System.out.println("当前页数:" + page.getNumber() + 1);
		System.out.println("当前页的记录数:" + page.getNumberOfElements());
		System.out.println("每页记录数:" + page.getSize());
		System.out.println("总记录数:" + page.getTotalElements());
		System.out.println("总页数:" + page.getTotalPages());
		System.out.println("记录:" + page.getContent());
	}

下面是带排序不带查询条件的分页

        @Test
	public void testPagingAndSortingRepository() {
		//pageNo从0开始
		int pageNo = 1 - 1;
		int size = 10;
		Order order1 = new Order(Direction.ASC, "id");
		Order order2 = new Order(Direction.DESC, "name");
		//参数为一个可变参数
		Sort sort = new Sort(order1, order2);
		//传入Pageable可以使用它的实现类PageRequest
		//在PageRequest的参数中传一个Sort可以实现排序
		Pageable pageable = new PageRequest(pageNo, size, sort);
		Page page =  personRepositoiry.findAll(pageable);
		System.out.println("当前页数:" + (page.getNumber() + 1));
		System.out.println("当前页的记录数:" + page.getNumberOfElements());
		System.out.println("每页记录数:" + page.getSize());
		System.out.println("总记录数:" + page.getTotalElements());
		System.out.println("总页数:" + page.getTotalPages());
		System.out.println("记录:" + page.getContent());
	}

 

你可能感兴趣的:(SpringData)