인프런 커뮤니티 질문&답변

김지홍님의 프로필 이미지
김지홍

작성한 질문수

스프링 부트 웹 개발 입문 - 따라하며 배우기

등록메뉴창에 등록 버튼을 누르면 에러가뜹니다.

작성

·

410

0

CB8441C0-BC7D-498E-BA17-9FB383EA67DA.jpeg0696B05D-C26A-4682-9000-D453A9E3878C.jpeg등록때도 수정때도 계속 이런데 그대로 잘따라했는데 발생하는 이유가 먼가요?

답변 1

0

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

오류 내용으로 봐서는 쿼리 문법 오류인데,
우선 뒤에 들어가는 price 의 값을 로그로 찍어서 문자열로 잘 전달되는지 확인해보시는게 먼저일것 같구요.
전달되는 파라미터 값이 이상이 없는데도 오류가 발생한다면,
현재 소스를 저에게 보내주시면 바로 확인해보도록 하겠습니다. (good.dhkim@gmail.com)
(지금까지 해보니 소스를 받아서 제가 수정하는게 가장 빠르더라구요)

김지홍님의 프로필 이미지
김지홍
질문자

소스를 어떤식으로 보내면 되는건가요? 저는 그냥 거의 자료 복사 붙여넣기한거라 코드가 달라질게 없어서요..

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

프로젝트 소스를 압축해서 메일로 주셔도 되구요.

소스폴더 zip 압축

깃헙 사용하시면 경로를 주시면 되구요

김지홍님의 프로필 이미지
김지홍
질문자

insert 자료일때는 등록이되는데 delete자료로 할때는 아까처럼 오류가 뜹니다..

xml에서 구문이바껴서 그런거같은데 어디가 문제인지 모르겟네요

https://drive.google.com/drive/folders/1MCOZXpk9aakRdnbWuMksHE_alQ5zSXBJ?usp=share_link

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

소스를 프로젝트 sailing 폴더 전체를 묶어서 다시 공유 부탁드려요.
제가 지금 바로 확인하도록 할게요.

김지홍님의 프로필 이미지
김지홍
질문자

넵 올렸습니다.

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

소스 받아서 확인해보았습니다.
입력 / 삭제에 이상은 없는데, 혹시 삭제할때 order_list 에 값이 있는것을 삭제해서 다른 오류
'.SQLIntegrityConstraintViolationException' 오류가 발생하지 않나 추측이 되는데요.
(신규 메뉴로 등록한 메뉴는 삭제가 가능하지만, 주문 메뉴에 있는 메뉴는 삭제가 불가합니다.)

이 부분이 아니라면
오류메세지 올려주시면 확인해 보겠습니다.

김지홍님의 프로필 이미지
김지홍
질문자

<insert id="doInsert">

INSERT INTO coffee_menu (coffee, kind, price)

VALUES(#{strCoffee},#{strKind},#{strPrice})

</insert>

 

 

image여기만 바꼇는데 위에 뜨는 오류로가 뜹니다. 잘되던 등록도 안되고 삭제는 물론이고요

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

구글 드라이브에 현재 소스 올리시면 확인해볼게요
현재 발생하는 오류 메세지도 올려주세요 (동일하더라도 다시 올려주세요.)

김지홍님의 프로필 이미지
김지홍
질문자

image

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

아래 올려주신 소스를 구글 드라이브에 올려주시면 확인해 보겠습니다.

지금 소스는 문제가 없어 보이네요.

김지홍님의 프로필 이미지
김지홍
질문자

Sailing으로 현재 소스코드 올렸습니다.

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

소스 받아서 application.yml 의 DB 연결부분만 수정해서 돌려봤는데 오류 없이 등록 / 삭제가 잘 되고 있습니다.
DB 연결만 정상이라면 문제 없을 것 같습니다.

image

image

김지홍님의 프로필 이미지
김지홍
질문자

DB연결문제면 <insert id="doInsert">

INSERT INTO coffee_menu (coffee, kind, price)

VALUES(#{strCoffee},#{strKind},#{strPrice})

</insert> 이떄도 오류가 났어야하는데 이때는 DB에 데이터 들어가는거 확인까지 됐는데 갑자기

그다음의 강의 코드를 받아서 하니깐 안되서... 이게 어디서부터 문제인지를 모르겠어요

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

네 타당하신 이야기네요.
지금 올려주신 소스가 정상 작동을 하기때문에 제가 오류를 잡기가 쉽지 않네요.

참고로 아래 답글의 구문은
<insert id="doInsert">

INSERT INTO coffee_menu (coffee, kind, price)

VALUES(#{strCoffee},#{strKind},#{strPrice})
=> VALUES(#{strCoffee},#{strKind},CAST(#{strPrice} as INTEGER))

</insert>

김지홍님의 프로필 이미지
김지홍
질문자

맞아요 그 문구하나 바뀐건데 갑자기 등록도 안되니..

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

음.. 지금 올려주신 소스가 최종이라면 소스에 문제가 있는건 아닌것 같아요.
인텔리제이를 다시 구동해보시면 어떨까요? 아니면 PC 재부팅..

김지홍님의 프로필 이미지
김지홍

작성한 질문수

질문하기