Spring Boot

[게시판 만들기 (7)] 게시글 삭제

서윤-정 2024. 1. 14. 12:09

 

 

[ 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/로 리다이렉트 된다.

없어졌다! 끝

 

 

잘 삭제되었다.