1.LEFT JOIN을 이용하여 쿼리 문을 이용하여 보자.
왼쪽의 테이블은 무조건 조회되며, 오른쪽 테이블에 조건이 맞는 것이 있으면 같이 보여 준다.
POST 테이블(LEFT 기준 테이블), REPLY 테이블
1. POST테이블의 POSTID 컬럼과 REPLY테이블의 BOARDID 컬럼이 일치 하면 POST테이블에 REPLY테이블을 포함시켜 표시해라.
2. REPLY테이블의 BOARTID컬럼을 기준으로 카운트 해라.
3. 카운트 하기전 그룹으로 기준열이 되어야 하는 컬럼이 있어야 하며, GROUP BY 를이용해서 그룹화 시켜주어야 한다.
3-1. 기준이 되는 컬럼은 POST테이블의(모든 컬럼 이다.)
위 댓글 겟수 출력하는 SQL문을 기존 게시글 출력 SQL에 포함을 시켜야 한다. 그럴때 위에 SQL문을 모두 집어 넣는것이 아니라 VIEW를 이용하여 만든다.
서블릿 컨트롤러에서 기존 출력 게시물에 POST_VIEW(댓글수 포함) 로 변경 하여 준다.
또 값을 담을 클래스에도 댓글수를 추가 하여 준다.
1.~2 기존 POST클래스를 수정하는 것이 아닌 POST클래스를 상속 받는 POST_View를 만들어 댓글(re_count)항목을 추가 하자.
3. 생성자는 POST클래스의 생성자를 그대로 가져온다음 (SUPER 이용)
4. re_count생성자만 추가하여주자.
마지막으로 출력단에 Notice.JSP에 EL을 이용하여 re_count를 추가 하여 주다.
내 프로젝트에 적용하나 실제 출력 결과 (게시글 댓글 수 표시)
실제 댓글 수 확인
'web_배우고익히고 > 6.뉴렉처_JSP강좌' 카테고리의 다른 글
81강 자세한 페이지 수정(미리 만들어봄) (0) | 2020.02.18 |
---|---|
82강 목록에 댓글 수 포함 및 댓글 달기 (0) | 2020.02.18 |
79~80강 현제 페이지 번호 처리 및 마지막 번호 처리하기 (0) | 2020.02.17 |
78강 목록에서 페이지 요청 구현 (0) | 2020.02.17 |
77강 목록페에지에 검색 추가하기 (0) | 2020.02.17 |