[ detail.html ]
<button onclick="listReq()">목록</button>
<button onclick="updateReq()">수정</button>
<button onclick="deleteReq()">삭제</button>
</body>
<script th:inline="javascript">
const updateReq = () => {
console.log("수정 요청");
const id = [[${board.id}]];
location.href = "/board/update/" + id;
}
const deleteReq = () => {
console.log("삭제 요청");
const id = [[${board.id}]];
location.href = "/board/delete/" + id;
}
location.href = "/board/delete/" + id;
현재 브라우저창의 위치를 /board/delete/와 서버에서 받은 id로 구성된 URL로 변경한다.
BoardController에 delete 메서드를 추가한다.
[ BoardController ]
@GetMapping("/delete/{id}")
public String delete(@PathVariable Long id) {
boardService.delete(id);
return "redirect:/board/";
}
BoardService에도 delete 메서드를 추가한다.
[ BoardService ]
public void delete(Long id) {
boardRepository.deleteById(id);
}
boardRepository.deleteById(id);
boardRepository는 spring data jpa에서 제공하는 인터페이스인 JpaRepository를 상속받은 인터페이스로,
데이터베이스 조작을 위한 여러 메서드를 제공한다.
여기서는 deleteById 메서드를 사용하여 주어진 id에 해당하는 엔티티(게시글)를 삭제한다.
이 메서드는 내부적으로 해당 id에 해당하는 엔티티가 존재하는지 확인하고, 존재한다면 삭제 작업을 수행한다.
실행 ㄱㄱ
삭제버튼 ㄱ
http://localhost:8092/board/로 리다이렉트 된다.
없어졌다! 끝
잘 삭제되었다.
'Spring Boot' 카테고리의 다른 글
[게시판 만들기 (9)] 게시글 페이징_페이징 후 상세조회 (0) | 2024.01.14 |
---|---|
[게시판 만들기 (8)] 게시글 페이징_페이징 화면 처리 (0) | 2024.01.14 |
[게시판 만들기 (6)] 게시글 수정 (0) | 2024.01.14 |
[게시판 만들기 (5)] 게시글 조회 (0) | 2024.01.14 |
[게시판 만들기 (4)] 게시글 목록 (0) | 2024.01.14 |