IT/Spring

스프링(Spring) Mybatis 게시판 만들기 (게시글 조회수 증가 로직)

대부분 저보다 이해력이 좋으시리라 생각하고 핵심만 설명드리자면

아 일단 스프링 버전은 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} 이런식으로 해서 값을 뽑았더니 조회수가 잘 증가하는것을 

확인할수 있었습니다.

도움되시길 바라며 문의사항은 댓글로 남겨주세요