Sayfalama ve Sorting yapabilmek için öncelike interface'de bulunan Repository'imizi "PagingAndSortingRepository"'den extends etmemiz gerekiyor.
public interface ParticularRepository extends PagingAndSortingRepository<Supplier, Long>{
}@Controller
public class ParticularController {
@Autowired
private ParticularRepository particularRepository;
@GetMapping("/particular/page")
@ResponseBody
public String findPageSuppliers(){
Pageable pageable= PageRequest.of(0, 4);// 1.sayfada 4 tane olsun; 0'dan başlanır sayfa sayısı
Iterable<Supplier> supplierList = particularRepository.findAll(pageable);
Iterator<Supplier> iterator = supplierList.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next().getSupplierName());
}
return "Sayfalandı";
}
@GetMapping("/particular/sort")
@ResponseBody
public String findSortedSuppliers(){
Sort sort = Sort.by("supplierName").descending();
Iterable<Supplier> supplierList = particularRepository.findAll(sort);
Iterator<Supplier> iterator = supplierList.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next().getSupplierName());
}
return "Sıralandı";
}
@GetMapping("/particular/pagesort")
@ResponseBody
public String findSortedPage(){
Sort sort = Sort.by("supplierName").descending();
Pageable pageable = PageRequest.of(0, 4,sort);
Iterable<Supplier> supplierList = particularRepository.findAll(pageable);
Iterator<Supplier> iterator = supplierList.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next().getSupplierName());
}
return "Hem sıralandı hem sayfalandı";
}
}