PageRequest 源码
`public PageRequest(int page, int size, Direction direction, String... properties) {
this(page, size, new Sort(direction, properties));
}`
实现
PageRequest request = new PageRequest(pageNumber - 1, pageSize, Sort.Direction.ASC,"id");
Page<TbPatient> pageable = repository.findAll(request);
return pageable.getContent();
举例
Dao
@Repository("repository")
public interface TbPatientRepository extends JpaRepository<TbPatient, Integer>,JpaSpecificationExecutor<TbPatient>{
}
Service
public List<TbPatient> findTbPatientNoCriteria(Integer pageNumber, Integer pageSize, String keyword,String sort) {
boolean flag = pageNumber!=null&&pageSize!=null;
if(flag&&keyword==null&&sort==null) {
PageRequest request = new PageRequest(pageNumber - 1, pageSize, Sort.Direction.ASC,"id");
Page<TbPatient> pageable = repository.findAll(request);
return pageable.getContent();
}
else if(flag&&keyword!=null&&sort!=null){
PageRequest request=null;
if(sort.equals("asc")) {
request = new PageRequest(pageNumber - 1, pageSize, Sort.Direction.ASC,keyword);
}
if(sort.equals("desc")) {
request = new PageRequest(pageNumber - 1, pageSize, Sort.Direction.DESC,keyword);
}
Page<TbPatient> pageable = repository.findAll(request);
return pageable.getContent();
}else {
return null;
}
}
Controller
@RequestMapping(produces = { "application/json" },method = RequestMethod.GET)
public List<TbPatient> findTbPatientNoQuery(
@RequestParam(value = "pageNumber") Integer pageNumber,
@RequestParam(value = "pageSize") Integer pageSize,
@RequestParam(value = "keyword") String keyword,
@RequestParam(value = "sort") String sort){
List<TbPatient> list = tbPatientService.findTbPatientNoCriteria(pageNumber, pageSize,keyword,sort);
return list;
}