• 게시판 상세보기 및 조회수 부분은 딱히 설명 드릴것 없이 간단하게 구현이 되어있습니다.

Mapper.xml(Oracle)

<!-- 상세보기 -->
<select id="detail" parameterType="int" resultMap="boardResult">
	<![CDATA[
		select * from board
		where bno = #{bno}
	]]>
</select>

<!-- 조회수 -->
<update id="UpdateHit">
	<![CDATA[
		update board
		set hit = hit+1
		where bno = #{bno}		
	]]>
</update>

Controller

	//게시판 상세보기
	@GetMapping("/detail")
	public void detail(int bno,Model model) {
		log.info("detail"+bno);
		//상세보기
		model.addAttribute("detail",service.detail(bno));
		//조회수
		service.UpdateHit(bno);
	}

Service & DAO

//Service
	//상세보기
	@Override
	public BoardVO detail(int bno) {
		log.info("detail...." + bno);
		return dao.detail(bno);
	}
	//조회수
	@Override
	public int UpdateHit(int bno) {
		return dao.UpdateHit(bno);
	}
    
    //DAO
    //상세보기
	@Override
	public BoardVO detail(int bno) {
		return session.selectOne("mapper.board.detail",bno);
	}
	//조회수
	@Override
	public int UpdateHit(int bno) {
		return session.update("mapper.board.UpdateHit",bno);
	}

JSP

  <div class="container">
   	 <h1>상세보기</h1>
     <div class="row row1">
      <table class="table">
        <tr>
         <th width=20% class="text-center warning">제목</th>
         <td width=30% class="text-center">${detail.title}</td>
         <th width=20% class="text-center warning">작성일</th>
         <td width=30% class="text-center">${detail.credate}</td>
        </tr>
        <tr>
         <th width=20% class="text-center warning">닉네임</th>
         <td width=30% class="text-center">${detail.nickname}</td>
         <th width=20% class="text-center warning">조회수</th>
         <td width=30% class="text-center">${detail.hit}</td>
        </tr>
        <tr>
          <td colspan="4" class="text-left" valign="top" height="200">
           <pre style="white-space: pre-wrap;border:none;background-color: white;">${detail.content}</pre>
          </td>
        </tr>
   
        <tr>
          <td colspan="4" class="text-right">
			<a href="#" class="btn btn-xs btn-success" onclick="back()">목록으로</a>
			<a href="${path}/board/remove?bno=${detail.bno}" id="del_chk" class="btn btn-xs btn-warning">삭제</a>
			<a href="${path}/board/modify?bno=${detail.bno}" class="btn btn-xs btn-info">수정</a>
          </td>
        </tr>
      </table>
     </div>
   </div>

JS

function back(){
	history.back();
}
  • 목록으로 가는 부분은 history.back()로 이전 페이지 이동으로 가게 하였습니다.
복사했습니다!