22.6.29
- 각 게시글마다 댓글의 수를 검색해서 게시글에 표현하도록 함
- 먼저 board_tbl에 댓글의 수를 의미하는 replyCnt 컬럼 추가
alter table board_tbl add column replyCnt int null default 0;
만약 기존 테이블에 댓글이 존재 햇다면 이를 반영해야 하기에 다음 코드 추가
update board_tbl
set replyCnt = (select count(rno) from reply_tbl where board_tbl.bno = reply_tbl.bno);
SQL을 수정했다면, Board 클래스와 BoardMapper의 수정이 필요
Board 클래스에 replyCnt 추가!
BoardMapper 인터페이스에 updateReplyCnt 메서드 추가
추가된 updateReplyCnt 메서드의 amount 변수는 댓글이 증가하면 해당 게시물 번호를 +1, 감소하게되면 -1을 해주기 위한 변수. 2개 이상의 변수 데이터를 처리할 때는 반드시 @Param을 추가해줘야만 인식함
BoardMapper.xml에 updateReplyCnt 추가!
Mapper 부분을 처리했으니 이제 Service 단에 들어가 처리
ReplyServiceImpl 의 트랜잭션 처리
원래는 ReplyMapper만 의존했으나, BoardMapper 도 같이 의존
더불어 상수로 Reply_ADD 와 Reply_DEL을 미리 설정해줌. @Autowired 혹은 @Sette 주입으로 설정
ReplyServiceImple에서 삭제와 등록은 2가지를 한번에 처리 하기 때문에 @Transactional 어노테이션이 필요
list.jsp 페이지에 ReplyCnt를 추가해서 게시글마다 댓글수를 추가!
여기서 반복문의 변수를 b로 줬기에 b.replyCnt를 게시글 제목 옆에 붙여줌!
위 사진처럼 게시물의 제목 옆에 댓글 수가 나오는 것을 확인 가능!!!
- 하루 3연 포스팅!!!! 정리되고 좋은 것 같다!
55) Spring 파일 업로드 - 2 (0) | 2022.07.01 |
---|---|
54) Spring 파일 업로드 설정(Java) (0) | 2022.06.30 |
52) REST 방식 댓글 구현 - 6 (0) | 2022.06.29 |
51) REST 방식 댓글 구현 - 5 (0) | 2022.06.29 |
50) REST 방식 댓글 구현 - 4 (0) | 2022.06.29 |
댓글 영역