게시판 - 글 삭제 기능 구현 (23.08.31)

·2023년 8월 31일
0

Spring

목록 보기
26/36
post-thumbnail

🌷 게시글 삭제


오늘 포스팅에서는 게시글 삭제 기능을 구현해 보자.
게시글 삭제는 다른 기능에 비하면 간단하다. 😉


👀 코드로 살펴보기

🌼 VS Code

🌱 boardDetail.js

...
// 게시글 삭제 버튼이 클릭 되었을 때
document.getElementById("deleteBtn").addEventListener("click", () => {

    if(confirm("정말 삭제 하시겠습니까?")){
        location.href 
        = location.pathname.replace("board","board2")
            + "/delete";
            + location.search;
        //   /board2/1/2006/delete (GET)
    }
})

🌼 Spring

🌱 BoardController2.java

...
	// 게시글 삭제
	@GetMapping("/{boardCode}/{boardNo}/delete")
	public String boardDelete(
			@PathVariable("boardCode") int boardCode
			,@PathVariable("boardNo") int boardNo
			,RedirectAttributes ra
			,@RequestHeader("referer") String referer   ) {

		Map<String, Object> map = new HashMap<String, Object>();
		map.put("boardCode", boardCode);
		map.put("boardNo", boardNo);


		int result = service.boardDelete(map);

		String path = "redirect:";
		String message = null;
		
		if(result > 0) {
			message = "삭제 되었습니다.";
			path += "/board/"+ boardCode;
			
		}else {
			message = "삭제 실패";
			path += "/board/" + boardCode + "/" + boardNo;
			//path += referer;
		}

		ra.addFlashAttribute("message", message);

		return path;
	}

🌱 BoardService2.java

...
	/** 게시글 삭제
	 * @param map
	 * @return result
	 */
	int boardDelete(Map<String, Object> map);

🌱 BoardServiceImpl2.java

...
	// 게시글 삭제
	@Transactional(rollbackFor = Exception.class)
	@Override
	public int boardDelete(Map<String, Object> map) {
		return dao.boardDelete(map);
	}

🌱 BoardDAO2.java

...
	/** 게시글 삭제
	 * @param map
	 * @return result
	 */
	public int boardDelete(Map<String, Object> map) {
		return sqlSession.update("boardMapper.boardDelete", map);
	}

🌱 board-mapper.xml

...
	<!-- 게시글 삭제 -->
	<update id="boardDelete">
		UPDATE "BOARD" SET
		BOARD_DEL_FL = 'Y'
		WHERE BOARD_CODE = #{boardCode}
		AND BOARD_NO = #{boardNo}
	</update>
profile
풀스택 개발자 기록집 📁

0개의 댓글