대부분 저보다 이해력이 좋으시리라 생각하고 핵심만 설명드리자면
아 일단 스프링 버전은 5.0.2 로 진행중이었구요 이클립스로 개발한 부분입니다.
먼저 SQL문을 작성하셔야 할텐데요 그전에 테이블을 만드실 때
게시글을 클릭하면 조회수가 증가하는 것을 저장할수 있도록 테이블을 만드셔야 합니다.
저같은 경우는 board_hits 컬럼이 이미 만들어진 상태였구요
<update id="boardHitsUpdate" parameterType="int">
update board set board_hits=board_hits+1 where board_seq_no=#{board_seq_no}
</update>
위와 같이 쿼리를 작성했습니다. 게시글을 클릭하면 카운트가 1씩 증가하도록 작성했습니다.
그 다음은 DB 값을 뽑아주는 DAO로 가서
public void boardHitsUpdate(int num)
{
getSqlSession().update("boardHitsUpdate", num);
}
위와 같이 작성을 해주고 이제 실질적인 로직을 service에 작성했습니다.
//조회수
public void boardHitsUpdate(int num)
{
dao.boardHitsUpdate(num);
}
요렇게요~
마지막으로 한참 삽질하고 헤매다가.............. 클릭해야 조회수가 증가하는거니까
클릭한 다음 이동하는 상세보기 화면 사이에서 처리되는 로직이라는 생각이 들어서
상세보기 컨트롤러 안에다가 서비스를 호출하는 문장을 넣어서 마무리 했습니다.
int board_hits = 0;
service.boardHitsUpdate(board_seq_no);
model.addAttribute("board_hits",board_hits);
이런식으로 작성했구요
화면 부분에서는 리스트 페이지에서 JSTL을 사용하여 뿌려줄때
변수명을 vo로 해서 담았었기에 ${vo.board_hits} 이런식으로 해서 값을 뽑았더니 조회수가 잘 증가하는것을
확인할수 있었습니다.
도움되시길 바라며 문의사항은 댓글로 남겨주세요
'IT > Spring' 카테고리의 다른 글
[React.js] 특정 화면에서 Header 혹은 Container 숨기기 (2) | 2020.12.09 |
---|---|
스프링 프레임워크의 동작원리(Spring 원리) (0) | 2019.08.01 |
메이븐(Maven)이란 무엇일까? 그래들(Gradle)은 무엇인가? maven gradle 차이는? (3) | 2019.08.01 |