국비 98 - 게시글 삭제(스프링)

냐아암·2023년 8월 31일
0

국비

목록 보기
112/114

// 게시글 삭제 버튼이 클릭 되었을 때
const deleteBtn = document.getElementById("deleteBtn");

if(deleteBtn != null){

    deleteBtn.addEventListener("click", () => {
    
        if(confirm("정말 삭제 하시겠습니까?")){
            location.href 
            = location.pathname.replace("board","board2")
                + "/delete";
            //   /board2/1/2006/delete (GET)
    
            // 삭제 서비스 호출 성공 시 redirect:/board/{boardCode}
            // + RedirectAttributes 이용해서 "삭제 되었습니다" alert 출력
    
            // 삭제 서비스 호출 실패 시 redirect:/board/{boardCoed}/{boardNo}
             // + RedirectAttributes 이용해서 "삭제 실패" alert 출력
        }
    })
}

Controller

// 게시글 삭제
	@GetMapping("/{boardCode}/{boardNo}/delete")
	public String deleteBoard(@PathVariable("boardCode") int boardCode
							, @PathVariable("boardNo") int boardNo
							, RedirectAttributes ra) {
		
		int result = service.deleteBoard(boardCode, boardNo);
		
		String message = null;
		String path = "redirect:";
		// int result = 0; // 삭제 실패 테스트
		if(result>0) {
			message="삭제되었습니다.";
			path += "/board/" + boardCode;
		} else {
			message = "삭제 실패";
			path += "/board/" + boardCode + "/" + boardNo;
		}
		
		ra.addFlashAttribute("message", message);
		
		
		return path;
	}

Service

/** 게시글 삭제
	 * @param boardCode
	 * @param boardNo
	 * @return result
	 */
	int deleteBoard(int boardCode, int boardNo);
    

ServiceImpl

// 게시글 삭제
	@Transactional(rollbackFor = {Exception.class})
	@Override
	public int deleteBoard(int boardCode, int boardNo) {
		return dao.deleteBoard(boardCode, boardNo);
	}

DAO

/** 게시글 삭제
	 * @param boardCode
	 * @param boardNo
	 * @return result
	 */
	public int deleteBoard(int boardCode, int boardNo) {
		Board board = new Board();
		board.setBoardCode(boardCode);
		board.setBoardNo(boardNo);
		return sqlSession.update("boardMapper.deleteBoard", board);
	}

sql

<!-- 게시글 삭제 -->
   <update id="deleteBoard">
   		UPDATE BOARD SET
   		BOARD_DEL_FL = 'Y'
   		WHERE BOARD_NO = #{boardNo}
   		AND BOARD_CODE = #{boardCode}
   </update>
profile
개발 일지

0개의 댓글