벨라12
176
2021-06-08 23:36:04 작성 2021-06-08 23:42:51 수정됨
4
130

게시판 댓글 수 표시하기...


안녕하세요;;;;댓글 수 화면에 보이게는 드디어 성공했습니다..;;;그런데....;;

controller

@GetMapping("/board/list")  // 게시판 목록 출력
public ModelAndView list(ModelAndView mv, String cp) {
mv.setViewName("board/list.tiles");
mv.addObject("bds", bsrv.readBoard(cp));
mv.addObject("bdcnt", bsrv.countBoard()); //총 게시 글수
mv.addObject("bds", bsrv.rpCount());
return mv;

service

List<BoardVO> rpCount();

serviceimpl

@Override
public List<BoardVO> rpCount() {
return bdao.selectReplyCount();

dao

List<BoardVO> selectReplyCount();

daoImple

@Override
public List<BoardVO> selectReplyCount() {
return sqlSession.selectList("board.selectRpCount");
}

mapper

<select id="selectRpCount" statementType="PREPARED"
resultType="seong.spring.mvc.vo.BoardVO">
SELECT bno, title, (SELECT COUNT(*) FROM Reply where Reply.bno=Board.bno) replycount
FROM Board
ORDER BY bno desc;
</select>


리스트 제목 옆에 댓글 수 나타나긴 하는데, 

한 페이지에 전체 리스트가 나타나네요...1번 글부터 마지막 글까지...

다음 페이지는 11번 글부터 쭉 나타나고요,,,

어느 부분이 잘못된 건지요?? 

부연으로 board 테이블엔  replycount    컬럼이 없고요(없어도 되더라고요,,)

대신 vo에는 replycount   set, get 해줬습니다.(이거 안해주니 replycount 찾을 수 없다고 오류가 떠서.요)

0
  • 답변 4

  • 천사와악마
    1k
    2021-06-09 00:12:20

    게시판 select 쿼리에 코멘트 카운트 서브 쿼리를 넣어서 수행해보세요

    내용으로 봐서는 selectRpCount 기능은 쓸모가 없습니다.

    readBoard 가 그 역할을 해야겠죠.

    위에 ModelAndView 에 bds 가 덮어쳐졌습니다. 동일 명칭이네요

  • 벨라12
    176
    2021-06-09 00:22:14

    천사와악마 /

    감사합니다. 말씀하신 방법 해보겠습니다..

  • 벨라12
    176
    2021-06-09 01:05:42 작성 2021-06-09 01:05:51 수정됨

    천사와악마 /

    감사합니다. 3일동안 이것저것 해보고 .....드디어 해결 하네요

    댓글+대댓글  합으로 나타나는 것도 중복 제거로 해서 해결했습니다.(댓글 테이블 결과 가만히 보니 중복되어 있는 걸 몰랐었습니다..ㅜㅜ)

    모 강의 사이트랑 구글링 하면서 배우는 중이라,,선배님들의 힌트에 사고의 전환도 되고 많이 배웁니다.

    그동안 이와 관련 질문을 여러번 했는데, 답변해주신 모든 분들께 감사드립니다.

    참조 사이트의 다음 단계는 마의 페이지 작성인데 이것도 열심히 해볼께욧^^ 

  • 안녕하세이용
    2
    2021-06-15 09:16:29

    감사합니다

  • 로그인을 하시면 답변을 등록할 수 있습니다.