DAO에서 총페이지를 구하는 로직을 먼저 구합니다.
전체 게시물 몇개인지 확이하는 쿼리문
BoardListService
페이지 버튼 생성을 위한 글 개수 확인하기
kr.co.ict - BoardDTO 클라스 생성
원래 VO(value dbject)와 DTO(data transfer object)는 큰 차이는 두지 않고 사용합니다.
굳이 차이를 두자면 VO는 DB테이블 형태를 그대로 전달할 때
DTO는 DB에서 꺼넨 데이터가 가공되어 전달할 때 쓰는것을 지칭할때 씁니다.
다만 DTO와 VO는 엄격하게 구분되지 않고 프로그래머에 따라서는
그냥 DTO를 VO와 완전히 동일하게 쓰는 경우도 있으므로
사용하는 사람이 부르고 싶은대로 부르셔도 무방합니다.
변수선언
생성자
생성자 생성시 모든 정보를 자동으로 구하도록 처리
(boardCount, currentPage 두개의 정보가 필요)
총 글 갯수와, 현재 조회중인 페이지 정보를 입력받아 아래에 깔릴 버튼개수, 현재 깔려야하는 번호대를 구합니다
글이 없다면
(전체 글이 == 0 이라면
전체 페이지 0
시작 페이지 0
끝 페이지 0)
글이 있다면
<<게시글 개수를 이용해 전체 페이지 갯수 구하기(totalPages값 구하기)>>
전체 글 (boardCount)나머지 10(BOARD_NUM)이 0이라면
전체 페이지 개수는 전체글 나누기 10(BOARD_NUM);
만약 0이 아니다
전체 페이지 개수는 (전체글 나누기 10(BOARD_NUM)) 더하기 1;
<<현재 조회중인 페이지 그룹의 시작 페이지 구하기(startPage값 구하기)>>
<< 현재 조회중인 페이지 그룹의 끝페이지 구하기(endPage값 구하기)>>
끝 페이지 = 시작페이지 + (10 - 1);
if만약 (끝페이지 > 전체페이지 )
끝페이지는 전체페이지;
닫아주면 생성자 끝
set,getter 수동으로 만들어줌
디버깅을 위한 toString
BoardListService
DTO를 생성해주시고 바인딩까지 해주세요.
조회해보면
50페이지
잘 나오는것을 확인할 수 있다.
바인딩된 정보를 boardList.jsp 하단에 디버깅시켜주세요.
실행해보면
확인할 수 있다.
BoardDAO
List boardList = new ArrayList<>();
LIMIT 뒤쪽 숫자가 페이지당 보여줄 글 개수이므로 DTO의 상수와 함께 고쳐야 함.