[블로그 만들기] 5. 글쓰기 기능 만들기 (5)

(4) 에서 바꿔서 만들어 본 것 되돌리기, 원상복구 하면서 복습
Sep 08, 2024
[블로그 만들기] 5. 글쓰기 기능 만들기 (5)
 
복습할겸 직전에 post_tb 로 변경했던 것을 다시 원래대로 돌려놓자^^
 
1. 테이블명을 board_tb
2. title <- subtitle (엔티티 변수명)
3. content <- postContent(엔티티 변수명)
4. 글쓰기가 잘 동작하게 하기
(1) form태그에 name값을 변경
(2) Controller에 매개변수 변경
(3) Repository의 쿼리 변경
 

1. 테이블명을 board_tb

 
class Board 에서 테이블명 변경하기.
notion image
notion image
서버 재실행해서 콘솔창에서 table board_tb 가 create 된 것을 확인
notion image
 
localhost:8080/h2-console 로 달려가서 새로고침 후 제대로 테이블명이 변경되었는지 굳이 확인하지 않아도 된다. 콘솔창에서 바로바로 확인하면 됨!!!
 

2. title <- subtitle (엔티티 변수명)

 
subtitle 에서 title 로 바꾸고 실행해본다.
notion image
마찬가지로 콘솔창에서 title 로 잘 들어갔다는 것을 확인 할 수 있다.
notion image
 

3. content <- postContent

 
같은 방법으로 엔티티 변수명을 바꾸고 변수명 바꾼 생성자를 다시 만들어서 실행하면 테이블에 문제없이 수정된 것을 알 수 있음
굳이 DB 를 열어서 확인하지 말기.
 
notion image
 

4. 글쓰기가 잘 동작하게 하기

 
localhost:8080/board/save-form 에서 글쓰기 화면을 보면서 해보자.
notion image
 

(1) form태그에 name값을 변경

 
아까 수정했던 코드를 다시 원상복구 시키는 것으로,
notion image
 
아래와 같이 name 값 변경하고 실행해보겠다.
notion image
 
콘솔 에러없이 잘 뜸
notion image
 
새로고침한 화면에서 제목과 내용을 입력하고, 글쓰기완료를 누르기 전!!!!
반드시 콘솔창을 clear all 하고 버튼을 누를 것!!! 그래야 최신 실행 내용을 헷갈리지 않고 볼 수 있음
notion image
notion image
 
테이블 POST_TB 를 찾을 수 없다고 뜬다..
오읭 나는 Board 에서 board_tb 로 테이블이름 변경했는데 뭐지
notion image
 
하고 Repository 를 가서 쿼리문을 보니, 변경되지 않은 테이블명을 확인 할 수 있었다.
 
notion image
 
그럼 저 쿼리문을 board_tb 로 바꾸기만 하면 에러가 안뜨나?
notion image
 
콘솔은 문제 없다.
 
어림도 없다. 당연하지, 쿼리문의 subtitle 과 post_content 도 원래대로 수정해야 한다.
수정하지 않은 쿼리문의 subtitle 을 찾을 수 없다는 에러가 뜰 것. (항상 코드 수정하고 브라우저에서 확인해볼때는 새로고침 필수)
notion image
 
 
엔티티 변수명을 바꿨으니, DB 에 insert 하는 쿼리문도 title 로 바꿔주고 다시 실행한다.
 
notion image
 
콘솔은 역시 문제가 없다.
hibernate 는 테이블 board_tb 에 내가 변경한 title, content 잘 만들어졌다고 말해줄 것이다.
notion image
 
하지만 쿼리문의 post_content 는 그대로니
DB 의 Column POST_CONTENT not found 에러 당연하다.
 
notion image
 
쿼리문을 insert into board_tb(title, content ~~~) 로 고치고 실행하니 이제는 다른 에러가 뜬다.
notion image
column “TITLE” 은 NULL 값이 허용되지 않는다는 에러
 
notion image
 
notion image
 
글쓰기완료를 누르면 form 의 내용이 localhost:8080/board/save 로 이동하는데,
form의 input type 이름과 다르니, null 값으로 들어오게 되나 보다.
 
notion image
notion image
 
이렇게 다시 원상복구 시키면서 에러도 추적해보고, 배운거 복기하도록 한다.
Share article

eunmouse