Search
📙

#블로그만들기_07 #Board 테이블 생성

View 먼저 확인

게시글에 대한 Entity 테이블이 필요하다. 일단 View 먼저 확인해서 필요한 필드값을 확인하고, 비즈니스를 이해하여서 테이블에 필요한 칼럼을 판단해야된다. 게시글이라는 비즈니스에는 제목/내용/작성자/게시물번호/작성된시간이라는 필드값이 필요할 것이라 예측이 된다.

Entity 테이블 생성

DB의 데이터를 조회하고 담는 정보를 넣는 역할을 하는 Entity 테이블을 담을 Board 객체를 설정한다.. 게시물 번호는 Board테이블의 id가 될 것이다. 제목과 내용은 확인된 대로 titlecontent가 될 것이다. 작성자 ID는 userId로 설정하여 user테이블의 PK인 id를 참조할 것이다. (카멜표기법 꼭 지켜준다.) 작성된 시간은 createdAt으로 설정한다 (카멜표기법!!)
package shop.mtcoding.blog.board; import jakarta.persistence.*; import lombok.Data; import java.time.LocalDateTime; @Table(name="board_tb") @Data @Entity // 테이블 생성하기 위해 필요한 어노테이션, entity는 DB의 자료를 1차적으로 담는 그릇 public class Board { // User 1 -> Board N @Id // PK 설정 @GeneratedValue(strategy = GenerationType.IDENTITY) // auto_increment 전략 private int id; private String title; private String content; private int userId; // 테이블에 만들어 질때 user_id private LocalDateTime createdAt; // 카멜표기법으로 넣으면 JPA가 자동변 }
Java
복사
카멜표기법을 정확히 지켜주어야지 JPA가 인식하고 처리한다. Board테이블이 잘 인식되고 있다.

데이터 초기화

resource/templates/db/data.sql 경로의 sql파일에 초기화 용도로 사용할 데이터를 넣는다.
insert into board_tb(title, content, user_id, created_at) values('제목1', '내용1', 1, now()); insert into board_tb(title, content, user_id, created_at) values('제목2', '내용2', 1, now()); insert into board_tb(title, content, user_id, created_at) values('제목3', '내용3', 1, now()); insert into board_tb(title, content, user_id, created_at) values('제목4', '내용4', 2, now());
SQL
복사
H2 데이터베이스 접속
http://localhost:8080/h2-console/
SQL
복사
데이터 확인