Spring-data-jpa 分页查询

由于直接调用的JpaRepository的方法,这里就不贴出Repository的方法了,以下是Service和Controller的方法。

//Service
public Page list(Integer pageNum, Integer pageSize){
    Pageable pageable = PageRequest.of(pageNum,pageSize, Sort.Direction.DESC, "id");
    Page pages = ipRepository.findAll(pageable);
    return pages;
}

//Controller
@GetMapping("/index")
public ModelAndView index(@RequestParam(defaultValue="0") Integer pageNum, @RequestParam(defaultValue="10") Integer pageSize){
    ModelAndView model = new ModelAndView();
    Page pages = ipService.list(pageNum, pageSize);
    model.addObject("ips",pages.getContent());
    model.addObject("totalPage",pages.getTotalPages());
    model.addObject("totalItem",pages.getTotalElements());
    model.addObject("pageNum",pageNum);
    model.setViewName("ip/index");
    return model;
}

需要注意的是页码是从0开始的。

SpringBoot版本:2.0.4.RELEASE

你可能感兴趣的:(Java)