public int boardViewCntUpdate(int bidx);
1. BoardService에 조회수 올리는 메서드 추가해주기
public int boardViewCntUpdate(int bidx);
2. BoardMapper에도 똑같은 메서드 추가!
@Override
public int boardViewCntUpdate(int bidx) {
int cnt = bm.boardViewCntUpdate(bidx);
return cnt;
}
3. impl로 가서 구현되지 않은 메서드 add로 추가.
<update id="boardViewCntUpdate" parameterType="int" >
update board SET viewcnt = viewcnt+1 where bidx = #{bidx}
</update>
4. boardMapper.xml로 가서 쿼리 만들어주기.

boardService.boardViewCntUpdate(bidx);
5. 컨트롤러로 돌아와서 boardContents 메서드 부분에 조회수 추가 메서드 넣어주기
@ResponseBody //Java 객체를 JSON 형태로 변환해 클라이언트에게 보내는 역할
@RequestMapping(value="boardRecom.aws", method=RequestMethod.GET)
public JSONObject boardRecom(@RequestParam("bidx") int bidx) {
JSONObject js = new JSONObject();
return js;
}
1. 컨트롤러에서 우선 형식을 만들어놓기. 여기선 제이슨 객체를 쓰기 때문에 제이슨 형태로 나와야 한다.
어노테이션은 클라이언트에게 데이터를 직접 반환할 때 사용된다. 원래는 컨트롤러에서 JSP 페이지로 이동하거나 HTML을 반환하지만 @ResponseBody를 사용하면 HTML 대신 JSON, XML, String 등의 데이터를 그대로 클라이언트에 전달할 수 있다.
public int boardRecomUpdate(int bidx);
2. BoardService에 추천 업데이트 메서드 추가해주기
public int boardRecomUpdate(int bidx);
3. BoardMapper에도 똑같은 메서드 추가!
@Override
public int boardRecomUpdate(int bidx) {
int cnt = bm.boardRecomUpdate(bidx);
return cnt;
}
4. impl로 가서 구현되지 않은 메서드 add로 추가.
<update id="boardRecomUpdate" parameterType="int" >
update board set recom= recom+1 where bidx= #{bidx}
</update>
5. boardMapper.xml로 가서 쿼리 만들어주기.
// 추천하기 기능 구현
@ResponseBody
@RequestMapping(value="boardRecom.aws", method=RequestMethod.GET)
public JSONObject boardRecom(@RequestParam("bidx") int bidx) {
int value = boardService.boardRecomUpdate(bidx);
JSONObject js = new JSONObject();
js.put("value", value); // value값을 담아서 json에게 넘겨주기
return js;
}
6. 컨트롤러 완성
<!-- 게시물 추천하기 쿼리 구문 -->
<update id="boardRecomUpdate" parameterType="bv" >
<selectKey keyProperty="recom" resultType="int" order="AFTER">
select recom from board where bidx = #{bidx}
</selectKey>
update board set recom= recom+1 where bidx= #{bidx}
</update>
7. 총합을 구해야 하기 때문에 쿼리 구문 수정
@Override
public int boardRecomUpdate(int bidx) {
BoardVo bv = new BoardVo();
bv.setBidx(bidx);
int cnt = bm.boardRecomUpdate(bv);
return cnt;
}
8. 쿼리 구문에서 값을 bv로 받기로 했기 때문에 impl로 가서 Vo객체를 불러와 bidx값을 넣어준다.
public int boardRecomUpdate(BoardVo bv);
9. 보드매퍼 가서 바꿔주기
@Override
public int boardRecomUpdate(int bidx) {
BoardVo bv = new BoardVo();
bv.setBidx(bidx);
int cnt = bm.boardRecomUpdate(bv);
int recom = bv.getRecom(); //값을 다시 꺼내주기
return recom;
}
10 impl 최종 수정 ^^.///

11. 이제 결과값은 recom으로 받으면 된다.