테이블을 만들려면 sql문법으로만들어야하는 경우도 있으나
ORM라이브러리를 사용하는 경우 그럴필요 없음
JPA에선 @Entity를 사용하면 자동생성 됨
자바 클래스를 만들어주고
그 위에 @Entity를 적어주면 테이블 생성 완.
테이블을 만들었으니 속성(컬럼)들도 만들어줘야함
상품이름 가격 설명 이런식으로.
Integer라는 타입은 정수를 넣을수있는 타입인데 컬럼용 변수에는 int가 아닌 Integer를 쓰도록 함.
int/integer는 20억까지 저장가능
그 이상까지 저장하고싶으면 long/Long 사용
단 long/Long은 데이터뒤에 L 혹은 l을 붙여줘야함
물건들의 고유한 번호를 지정하기 위해 id라는 컬럼도 만들어줌
이런 id 컬럼에는 무조건 @Id 를 붙여줘야함
sql의 primary key와 같은 기능임
id에 고유번호가 자동으로 1씩 증가될수 있게 해주는
@GeneratedValue(strategy = GenerationType.IDENTITY)
sql의 Auto increment 와 같은 기능임
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
public Integer id;
@Entity 변수들에 public을 붙이면 다른 모든 클래스에서 문제없이 사용가능.
그치만 private로 쓰는경우도 있음. 근데 private는 getter setter가 있어야함
public String title;
public Integer price;
컬럼위에 @Column을 붙이면 여러가지 제약사항 설정가능
@Column(length = 200) 컬럼에 입력할 길이를 200자로 제약
@Column(nullable = false) 컬럼이 비었을때 저장을 막아줌
@Column(unique = true) 유니크한 데이터만 저장가능. 회원아이디나 이메일 저장할때
@Column(columnDefinition = "TEXT") String타입은 255자까지 지원되는데 그보다 긴 문자를 저장하고싶으면 mysql경우 TEXT로 지정하면 가능.
'SPRING' 카테고리의 다른 글
[Spring Boot] 인텔리제이에 Lombok 설치 (0) | 2025.03.14 |
---|---|
[Spring Boot] 숙제 (0) | 2025.03.14 |
[Spring Boot]인텔리제이에서 database 만들기 및 JPA 설치 (0) | 2025.03.13 |
[Spring Boot] Azure로 mysql 연결하고 (인텔리제이or디비버)접속하기 (0) | 2025.03.13 |
[Spring Boot] Thymeleaf (0) | 2025.03.12 |