페이징처리를 쉽게 하기 위해서 여기저기 찾아 보았는데
한 번에 깔끔하게 정리된 포스팅이 없는 것 같아 포스팅을 하기로 마음 먹었다!
할 게 너무 많아서 넘어갈까 했지만...급할수록 꼼꼼하고 차근차근하자는 마음으로 포스팅을 시작하겠다!
1.의존성 주입
dependencies {
implementation 'com.github.pagehelper:pagehelper-spring-boot-starter:1.3.0'
}
2.mapper
public List<Product> getProductList() throws Exception;
3.service
이 부분이 제일 중요하다!
public PageInfo<Product> getProducts(int pageNo) throws Exception{
PageHelper.startPage(pageNo, 10);
return PageInfo.of(productMapper.getProducts(),pageNo);
}
4.controller
@GetMapping("/list")
public String getProducts(@RequestParam(required = false) String userName,
@RequestParam(defaultValue = "1") int pageNum, Model model) throws Exception {
PageInfo<Product> pageInfo = productService.getProducts(pageNum);
model.addAttribute("pageInfo",pageInfo);
model.addAttribute("userName",userName);
return "product/list";
}
5. Product
여기서 product는 DB에서 조회된 데이터를 담아오는 DTO 엔티티정도로 생각해주시면 됩니다!!
PageHelper는 service단만 변경하면 돼서 사용이 정말 편리했다!