jsp에서 페이징 동작하도록 수정 후, 데이터베이스에 있는 실제 모든 게시물의 수를 구해서 PageDTO 구성 시 전달하도록 한다.
인터페이스에 메서드 정의 후 XML 작성
// 인터페이스에 추가
public int getTotalCnt(Criteria criteria);
<select id="getTotalCnt" resultType="int">
SELECT count(*) FROM tbl_board WHERE bno > 0
</select>
BoardService와 BoardServiceImpl 작성
public int getTotalCnt(Criteria criteria);
@Override
public int getTotalCnt(Criteria criteria) {
log.info("get total count");
return mapper.getTotalCnt(criteria);
}
작성 후 BoardController 수정
@GetMapping("/list")
public void list(Criteria criteria, Model model){
log.info("list: " + criteria);
model.addAttribute("list", service.getList(criteria));
// model.addAttribute("pageMarker", new PageDTO(criteria, 123));
int total = service.getTotalCnt(criteria);
model.addAttribute("pageMarker", new PageDTO(criteria, total));
}