boardview.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>게시글 상세 페이지</title>
</head>
<body>
<h1 th:text="${board.title}">제목입니다.
</h1>
<p th:text="${board.content}">내용이 들어갈 부분입니다.
</p>
<a th:href="@{/board/delete(id=${board.id})}">글 삭제</a> <!--'#'은 현재페이지를 불러오는것을 말함.-->
</body>
</html>
먼저 삭제는 게시글 상세페이지에서 하게 해주었다.
a태그를 이용하여, 컨트롤러에 설정해둔
board/delete 를 id값을 받아와 실행시킬것이다.
BoardController.java
@GetMapping("/board/delete")
public String boardDelete(Integer id){
boardService.boardDelete(id);
return "redirect:/board/list";
}
boardDelete 메서드는 id값을 매개변수로 받고
boardService에 작성한 로직 boardDelete를 실행한다.
service를 통해 삭제가 진행되고, 작업이 완료되면
redirect를 통해 http://localhost:8090/board/view?id=1 에서 http://localhost:8090/board/list로 이동된다.
BoardService.java
//특정 게시글 삭제
//void = return타입이 없다.
public void boardDelete(Integer id) {
boardRepository.deleteById(id);
}
boardRepository(DB)에 저장된 데이터를
deleteByID 메서드를 이용하여 해당 id에 맞는 데이터를 삭제해준다.
결과
그전에 있던 제목,1번테스트입니다 글을 삭제하여 목록에서 사라졌다.
DB에서도 삭제된것을 확인 할 수 있다.