MyBatis 페이징 처리

김주언·2022년 9월 12일
0

Spring

목록 보기
9/15
post-thumbnail

jsp에서 페이징 동작하도록 수정 후, 데이터베이스에 있는 실제 모든 게시물의 수를 구해서 PageDTO 구성 시 전달하도록 한다.

인터페이스에 메서드 정의 후 XML 작성

BoardMapper.java

	// 인터페이스에 추가
    public int getTotalCnt(Criteria criteria);

BoardMapper.xml

    <select id="getTotalCnt" resultType="int">
        SELECT count(*) FROM tbl_board WHERE bno > 0
    </select>

BoardService와 BoardServiceImpl 작성

BoardService.java

    public int getTotalCnt(Criteria criteria);

BoardServiceImpl

@Override
    public int getTotalCnt(Criteria criteria) {
        log.info("get total count");
        return mapper.getTotalCnt(criteria);
    }

작성 후 BoardController 수정

BoardControllerd의 GET /list

@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));
    }
profile
학생 점심을 좀 차리시길 바랍니다

0개의 댓글