/**
* 测试 PagingAndSortingRepository 的分页能力
*/
@Test
public void testPaging(){
System.out.println(bookRepository.getClass().getName());
/**
* 前台传来的第几页(当前第几页)
*/
Integer pageNoFromWeb = 1;
//
/**
* 前台传来的每页几条数据(当前页面的记录数)
*/
Integer pageSizeFromWeb = 5;
// 创建 PageRequest 对象
// SpringData 处理的页码从 0 开始
Integer page = pageNoFromWeb - 1;
Integer size = pageSizeFromWeb;
PageRequest pageRequest = new PageRequest(page, size);
Page<Book> bookPage = bookRepository.findAll(pageRequest);
// 总记录数(总数据条数)
long totalElements = bookPage.getTotalElements();
System.out.println("总记录数(总数据条数) => " + totalElements);
// 当前第几页
int number = bookPage.getNumber();
System.out.println("当前第几页 => " + (number + 1));
// 总页数
int totalPages = bookPage.getTotalPages();
System.out.println("总页数 => " + totalPages);
// 获得数据内容
List<Book> content = bookPage.getContent();
for(Book book:content){
System.out.println(book);
}
// 获得当前页面的记录数
int numberOfElements = bookPage.getNumberOfElements();
System.out.println(numberOfElements);
}
控制台显示:
分页 + 排序
关键代码:
Order order1 = new Order(Direction.DESC,"id");
Order order2 = new Order(Direction.ASC,"name");
Sort sort = new Sort(order1,order2);
PageRequest pageRequest = new PageRequest(page, size,sort);
测试代码:
/**
* 测试分页和排序
*/
@Test
public void testPagingAndSorting(){
System.out.println(bookRepository.getClass().getName());
/**
* 前台传来的第几页(当前第几页)
*/
Integer pageNoFromWeb = 1;
//
/**
* 前台传来的每页几条数据(当前页面的记录数)
*/
Integer pageSizeFromWeb = 5;
// 创建 PageRequest 对象
// SpringData 处理的页码从 0 开始
Integer page = pageNoFromWeb - 1;
Integer size = pageSizeFromWeb;
//
Order order1 = new Order(Direction.DESC,"id");
Order order2 = new Order(Direction.ASC,"name");
Sort sort = new Sort(order1,order2);
PageRequest pageRequest = new PageRequest(page, size,sort);
//
Page<Book> bookPage = bookRepository.findAll(pageRequest);
// 总记录数(总数据条数)
long totalElements = bookPage.getTotalElements();
System.out.println("总记录数(总数据条数) => " + totalElements);
// 当前第几页
int number = bookPage.getNumber();
System.out.println("当前第几页 => " + (number + 1));
// 总页数
int totalPages = bookPage.getTotalPages();
System.out.println("总页数 => " + totalPages);
// 获得数据内容
List<Book> content = bookPage.getContent();
for(Book book:content){
System.out.println(book);
}
// 获得当前页面的记录数
int numberOfElements = bookPage.getNumberOfElements();
System.out.println("当前页面的记录数 => " + numberOfElements);
}
控制台显示: