
const deleteBtn = document.getElementById("deleteBtn");
if(deleteBtn != null){
deleteBtn.addEventListener("click", () => {
if(confirm("정말 삭제 하시겠습니까?")){
location.href
= location.pathname.replace("board","board2")
+ "/delete";
}
})
}
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:";
if(result>0) {
message="삭제되었습니다.";
path += "/board/" + boardCode;
} else {
message = "삭제 실패";
path += "/board/" + boardCode + "/" + boardNo;
}
ra.addFlashAttribute("message", message);
return path;
}
Service
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
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>