본문 바로가기
Projects/쇼핑몰 프로젝트

Can not issue data manipulation statements with executeQuery() 에러 해결

by 젊은오리 2023. 3. 30.
728x90

문제 발생

관리자페이지에서 상품 삭제버튼을 클릭하니 삭제 실패라는 에러 문구와 함께 해당 에러가 발생했다.

실제 DB에도 확인해 본 결과 상품이 제대로 삭제되지 않았다.

 

원인 분석

이 오류는  INSERT, UPDATE, DELETE문을 사용할 때 executeUpdate() 메서드를 사용하지 않았기 때문에 발생한다.

  • SELECT 쿼리를 보낼 때에는 결과를 받아와야 하기 때문에 executeQuery() 메서드를 사용해야 한다.(조회한 행의 갯수를 반환)
  • INSERT, UPDATE, DELETE 쿼리를 보낼 때에는 결과값이 없기 때문에 executeUpdate() 메서드를 사용해야 한다.

 

문제 해결

INSERT, UPDATE, DELETE 쿼리를 실행할 때는 executeUpdate() 메서드를 사용하도록 @Modifying 어노테이션을 사용해야 한다. 따라서 @Modifying을 작성한 쿼리와 함께 붙여주면 간단하게 해결할 수 있다.

 

728x90

댓글