한바다
Error updating database-sql 업데이트 오류- 본문
☑️ Error updating database. Cause: java.sql
[스프링부트 Console에러]
### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE obo_no = 29' at line 4
### The error may exist in file [C:\Users\user1\Final\Sixsence\bin\main\mappers\Obo-mapper.xml]
### The error may involve com.six.mapper.OboMapper.registerAnswer-Inline
### The error occurred while setting parameters
### SQL: UPDATE Obo SET obo_answer = ?, obo_status = ?, WHERE obo_no = ?
▶ 위 오류는 데이테베이스 업데이트 중 발생한 오류로 sql 구문에 오류가 있어 발생하였다.
sql 문법에 맞지 않게 코드를 작성하면 위와 같은 오류가 발생하여 문법 수정 후 에러를 해결하였다!
[리액트 콘솔 에러]
@PostMapping
public Chicken saveChicken(Chicken chicken) {
return chickenService.createChicken(chicken);
}
▶ 위 오류는 'No routes matched location~ 으로 해당페이지가 App.js 리액트 라우터설정을 해주지 않아
발생한 오류로 App.js에서 해당페이지를 라우터 경로에 추가시 해결이 되었다.
☑️ WebConfig설정과 다른 경로로 오류 발생
백엔드 스프링부트 WebConfig에서는 localhost:3000으로 지정 해주었는데 프론트앤드 리액트에서
localhost:3001에서 실행시 아래와 같은 오류가 발생한다
☑️DB에서 불러와지지 않는 오류
[수정 전코드]
@PostMapping
public Chicken saveChicken(Chicken chicken) {
return chickenService.createChicken(chicken);
}
[수정 된 코드]
@PostMapping
public Chicken saveChicken(@RequestBody Chicken chicken) {
return chickenService.createChicken(chicken);
}
▶DB에 정확히 값을 넣어주기 위해서는 리퀘스트어노테이션 @RequestBody를 넣어줘야 한다.
해당 어노테이션을 입력 하니 Db에서 값이 정상적으로 불러와졌다
⬛ 리액트 터미널에서 한번에 들어가기!
- 리액트 앱 생성부터 npm 실행까지 아래 경로로 한번에 진행이 가능하다
npx create-react-app chicken-store
cd chicken-store
npm i axios
npm start