네이버 클라우드 캠프/Spring

[Spring Boot] 게시판 구현하기(3)

graph-dev 2023. 6. 22. 17:24
728x90

사용자

사용자 혹은 회원에 대한 정보를 관리하는 페이지를 제작해보겠습니다.

엔티티(entity)를 제작하고 레포지토리를 선언하고 서비스를 만들고 연결해보겠습니다.

 

먼저 User 이름의 엔티티를 생성합니다.

package com.bit.springboard.entity;

import jakarta.persistence.*;
import lombok.Data;

import java.time.LocalDateTime;

@Entity
@Table(name = "T_USER")
@Data
public class User {
    @Id
    @GeneratedValue(
            strategy = GenerationType.IDENTITY
    )
    private long id;
    @Column(unique = true)
    private String userId;
    private String userPw;
    private String userName;
    private String userEmail;
    private String userTel;
    private LocalDateTime userRegdate = LocalDateTime.now();
}

MySQL에 T_USER라는 이름의 테이블이 생성되고, 내부 데이터 형식을 대략적으로 맞춰줍니다.

이번에 달라진 점은, GenerationType.IDENTITY가 보일 것입니다. 이는 Id인 PK에 AUTO_INCREMENT 옵션을 적용하겠다는 의미입니다.

 

그 외에 userId 컬럼에는 UK 유니크 키값 설정을 적용하고 나머지는 그대로 작성합니다. 또한, userRegdate는 현재 시점으로 초기화해주어 테이블 구조를 정의하겠습니다.

 

이후에 이것을 Service와 연결해서 DB와 연동하는 작업도 수행해보겠습니다.