15일 차 특이사항
1. 새로운 과제 : 게시판 페이징, 검색 기능 구현
2. 9월에 project에서 vue.js 교육 예정. 일주일 정도 다른 분이 온다.
게시판 페이징 처리
1. pageresolver.java
페이지네이션(pageresolver)을 만들고 있다. 긴 목록을 페이지 단위로 나누어 표시하고, 페이지 이동 기능을 제공하는 기능을 가지고 있다. 이 클래스는 게시판과 같이 긴 목록을 페이지별로 나누어 보여주기 위해 만들어진다.
private int totalCnt; //게시물 총 갯수
private int pageSize; //한 페이지당 게시물 갯수
private final int NAV_SIZE=10; //page navigation size
private int totalPage; //전체 페이지 갯수
private int page; //현재 페이지
private int beginPage; //내비게이션 첫 페이지 숫자
private int endPage; //내비게이션 마지막 페이지 숫자
private boolean showNext = false; //다음 페이지로 이동하는 링크를 보여줄지 여부 (endPage==totalPage이면 showNext는 false)
private boolean showPrev = false; //이전 페이지로 이동하는 링크를 보여줄지 여부 (beginPage==1이 아니면 showPrev는 true)
2. 역시 오늘도 한 번에 넘어가지 못하고 있다. 페이지네이션은 구현했으나 페이지 번호를 눌렀을 때 게시글이 바뀌지 않는다. 계속 게시판 페이지 전체 글이 나온다. 한 페이지당 게시물 개수를 10개로 지정했는데 전체 게시물 766개가 나온다. 뭐가 문제일까? 아무리 바꿔봐도 소용이 없다.
3. mapper 문제인가? 뭔가 조잡하다. limit, offset을 사용할 수 없어서 이것 저것 찾아서 해봤는데 이상하다.
<select id="searchSelectPage" parameterType="com.com.board.SearchItem" resultType="com.com.board.BoardDto">
<![CDATA[
SELECT *
FROM (
SELECT A.*, ROWNUM AS RNUM
FROM (
SELECT * FROM board_study
ORDER BY seq DESC
) A
WHERE ROWNUM <= 10
)
WHERE RNUM > 0
]]>
</select>
4. /list로 요청이 들어오면 map과 dto를 둘다 사용하고 있다. 그것이 문제일까?
5. 감이 안잡힌다. 답답한데 계속 보고 있다.
6. list2에 저장된 dto값을 보니 seq를 제외하고 모두 null이다. 이것이 문제인가?
[BoardDto [seq=873, name=null, id=null, subject=null, content=null, regDate=null, uptDate=null, viewCnt=0]
느낀 점
붙잡고 있는다고 해결되는 건 아닌 것 같다. 조금 더 똑똑하게 해결할 수는 없을까? 계속 디버깅하면서 문제를 찾는 것이 답일까? 내가 지금 하고 있는 mybatis 개념이 부족한 것은 아닐까? 데이터가 어떻게 넘어가고 어떤 식으로 url 요청이 처리되는지 머릿속에서 그려지지 않는다. mapper, dto, dao, controller, service의 역할, jsp 작성방법 등을 잘 모르는 것 같다. 몰라도 어찌어찌하다 보면 해결이 되는 경우도 있지만 엉성하고 정확도가 떨어진다. 남이 만든 코드를 계속 반복해서 따라 쳐보는 방법밖에 없을까?
'일경험' 카테고리의 다른 글
[국민취업지원제도 일경험프로그램 17일차] 게시판 검색, 게시판 페이징 (0) | 2023.08.24 |
---|---|
[국민취업지원제도 일경험프로그램 16일차] 게시판 페이징 기능, 게시판 검색 기능 (0) | 2023.08.23 |
[국민취업지원제도 일경험프로그램 14일차] 게시판 수정하기, 체크박스 삭제하기 (0) | 2023.08.21 |
[국민취업지원제도 일경험프로그램 13일차] SQL 문제 풀이 및 함수 정리 (2) | 2023.08.18 |
[국민취업지원제도 일경험프로그램 12일차] SQL 문제 풀이(JOIN) (0) | 2023.08.17 |