[ delete 쿼리문 생성 ]
@RequiredArgsConstructor @Repository public class BoardRepository { private final EntityManager em; @Transactional public void deleteById(int id) { Query query = em.createQuery("delete from Board b where b.id = :id"); query.setParameter("id", id); query.executeUpdate(); }
delete는 em.remove 사용하지 말고, 쿼리문을 적어야함!
[ 테스트 ]
@Test public void deleteById_test() { //given int id = 1; //when boardRepository.deleteById(id); //delete쿼리 발동함! //then System.out.println("deleteById_test : " + boardRepository.findAll().size()); }
[ detail.mustache ]
삭제 버튼 누르면 action 발동!
[ BoardController ]
@PostMapping("/board/{id}/delete") public String delete(@PathVariable Integer id){ //권한, 인증 체크 지금은 생략 boardRepository.deleteById(id); return "redirect:/"; }
[ 화면 확인 ]
제목3 삭제 완료!
Share article