![[블로그 만들기] 3. USER 테이블 만들기](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog%3Ftitle%3D%255B%25EB%25B8%2594%25EB%25A1%259C%25EA%25B7%25B8%2520%25EB%25A7%258C%25EB%2593%25A4%25EA%25B8%25B0%255D%25203.%2520USER%2520%25ED%2585%258C%25EC%259D%25B4%25EB%25B8%2594%2520%25EB%25A7%258C%25EB%2593%25A4%25EA%25B8%25B0%26logoUrl%3Dhttps%253A%252F%252Finblog.ai%252Finblog_logo.png%26blogTitle%3DCoding_study&w=2048&q=75)
1. 패키지 구조 변경하기
- 게시판 패키지 생성 : 게시판 컨트롤러
- 사용자 패키지 생성 : 사용자 컨트롤러

2. 자바로 User 테이블 만들기
package shop.mtcoding.blog.user; import jakarta.persistence.*; import lombok.Data; import java.time.LocalDateTime; @Data //GETTER, SETTER, toString 포함된 어노테이션 @Entity // DB의 테이블과 매핑되는 클래스 임을 알려줌 @Table(name = "user_tb") public class User { // use_tb의 내용 DB에 담기 @Id // PK @GeneratedValue(strategy = GenerationType.IDENTITY) // auto_increment private int id; @Column(unique=true) // 유니크 설정 private String username; @Column(length = 60, nullable = false) // 길이 조정, 널 불가 private String password; private String email; // 자바 : 카멜 표기법 -> DB : _ (언더스코어 기법) private LocalDateTime createdAt; // created_at }
3. DB로 확인하기


Hibernate: create table user_tb ( id integer generated by default as identity, # 자동 증가 created_at timestamp(6), # 입력 시간 password varchar(60) not null, # 비밀번호(60자), null 안됨 email varchar(255), # 이메일 디폴트 값 : 255 username varchar(255) unique, # 유저네임은 유일해야함 중복 불가 primary key (id) id가 기본키 )
4. JPA의 Hibernate
- Hibernate : 자바 언어를 기반으로 한 객체-관계 매핑 프레임워크
- DB와 상호 작용을 좀 더 편리하게 만들어주는 도구
- 스프링이 실행될 때 전체 스캔 → @Entity 검색 → 있는 전체 클래스 찾기
→ 테이블 생성 쿼리 생성하고 실행
- 개발 모드에서만 사용 : 리플렉션
Share article