본문 바로가기

Server/SpringBoot

[SpringBoot] JPA, MySQL 설정

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"로 지정하는게 안정적입니다.

 

엔티티 추가 후 실행 해 보면, 다음과 같이 자동으로 테이블이 생성됩니다.