답변 1
0
오류 내용으로 봐서는 쿼리 문법 오류인데,
우선 뒤에 들어가는 price 의 값을 로그로 찍어서 문자열로 잘 전달되는지 확인해보시는게 먼저일것 같구요.
전달되는 파라미터 값이 이상이 없는데도 오류가 발생한다면,
현재 소스를 저에게 보내주시면 바로 확인해보도록 하겠습니다. (good.dhkim@gmail.com)
(지금까지 해보니 소스를 받아서 제가 수정하는게 가장 빠르더라구요)
insert 자료일때는 등록이되는데 delete자료로 할때는 아까처럼 오류가 뜹니다..
xml에서 구문이바껴서 그런거같은데 어디가 문제인지 모르겟네요
https://drive.google.com/drive/folders/1MCOZXpk9aakRdnbWuMksHE_alQ5zSXBJ?usp=share_link
소스 받아서 확인해보았습니다.
입력 / 삭제에 이상은 없는데, 혹시 삭제할때 order_list 에 값이 있는것을 삭제해서 다른 오류
'.SQLIntegrityConstraintViolationException' 오류가 발생하지 않나 추측이 되는데요.
(신규 메뉴로 등록한 메뉴는 삭제가 가능하지만, 주문 메뉴에 있는 메뉴는 삭제가 불가합니다.)
이 부분이 아니라면
오류메세지 올려주시면 확인해 보겠습니다.
<insert id="doInsert">
INSERT INTO coffee_menu (coffee, kind, price)
VALUES(#{strCoffee},#{strKind},#{strPrice})
</insert>
여기만 바꼇는데 위에 뜨는 오류로가 뜹니다. 잘되던 등록도 안되고 삭제는 물론이고요
소스 받아서 application.yml 의 DB 연결부분만 수정해서 돌려봤는데 오류 없이 등록 / 삭제가 잘 되고 있습니다.
DB 연결만 정상이라면 문제 없을 것 같습니다.
DB연결문제면 <insert id="doInsert">
INSERT INTO coffee_menu (coffee, kind, price)
VALUES(#{strCoffee},#{strKind},#{strPrice})
</insert> 이떄도 오류가 났어야하는데 이때는 DB에 데이터 들어가는거 확인까지 됐는데 갑자기
그다음의 강의 코드를 받아서 하니깐 안되서... 이게 어디서부터 문제인지를 모르겠어요
네 타당하신 이야기네요.
지금 올려주신 소스가 정상 작동을 하기때문에 제가 오류를 잡기가 쉽지 않네요.
참고로 아래 답글의 구문은
<insert id="doInsert">
INSERT INTO coffee_menu (coffee, kind, price)
VALUES(#{strCoffee},#{strKind},#{strPrice})
=> VALUES(#{strCoffee},#{strKind},CAST(#{strPrice} as INTEGER))
</insert>
소스를 어떤식으로 보내면 되는건가요? 저는 그냥 거의 자료 복사 붙여넣기한거라 코드가 달라질게 없어서요..