JPA란 DB와 자바객체를 맵핑하여 쉽게 사용하기 위한 모듈입니다.
프로젝트에서 JPA, MySQL를 사용하기 위한 환경설정을 진행하겠습니다.
build.gradle에 jpa, mysql connector, lombok 라이브러리를 추가합니다.
// JPA
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
// MySQL
runtimeOnly 'com.mysql:mysql-connector-j'
// Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
mysql에서 프로젝트에 사용할 스키마를 생성합니다.
resources 폴더에 application.yml 파일을 만들고 mysql 연결 정보를 입력합니다
spring:
datasource:
url: jdbc:mysql://localhost:3306/{스키마이름}?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
username: {계정}
password: {비밀번호}
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
ddl-auto: update # (create, update, validate, none)
spring.datasource : 데이터베이스 정보를 입력합니다.
spring.jpa.hibernate.ddl-auto : spring에서 엔티티를 생성하거나 변경하면 JPA가 자동으로 데이터베이스에 반영해주는 옵션입니다.
설정을 마친 뒤 프로젝트를 재시작합니다.
DB와 정상적으로 연결이 되면 위와 같은 로그가 뜨게 됩니다.
User 엔티티를 생성 해 보겠습니다.
@Entity : DB 테이블과 맵핑되는 클래스라는 의미입니다.
@Table : 테이블에 관한 정보입니다. "user"는 mysql 예약어이기때문에 테이블명은 "users"로 지정하는게 안정적입니다.
엔티티 추가 후 실행 해 보면, 다음과 같이 자동으로 테이블이 생성됩니다.
'Server > SpringBoot' 카테고리의 다른 글
[SpringBoot] 조회 API 만들기 (1) | 2025.04.26 |
---|---|
[SpringBoot] 레이어드 아키텍처를 적용하여 API 만들기 (1) | 2025.04.26 |
[SpringBoot] 프로젝트 만들기 (1) | 2025.04.26 |