
application.properties파일의 내용을 다 지우고 application.yaml로 변경

//build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
#application.yaml
spring:
# 알아서 DB 연결 객체를 생성
# HikariCP를 이용해서 커넥션 풀에 기본 연결 객체를 여러개 생성
datasource:
url: jdbc:mariadb://192.0.1.204:3306/test
driver-class-name: org.mariadb.jdbc.Driver
username: khj
password: qwer1234
build.gradle에 mariadb 추가 및 application.yaml파일에 설정 추가해주기 (DB주소, 포트 번호, DB 이름, DB 사용자 이름, DB 사용자 비밀번호)
#application.yaml
spring:
# 알아서 DB 연결 객체를 생성
# HikariCP를 이용해서 커넥션 풀에 기본 연결 객체를 여러개 생성
datasource:
url: jdbc:mariadb://192.0.1.204:3306/test
driver-class-name: org.mariadb.jdbc.Driver
username: khj
password: qwer1234
jpa:
database-platform: org.hibernate.dialect.MariaDBDialect
hibernate:
# DDL : CREATE, ALTER, DROP
# ddl-auto : CREATE, UPDATE, CREATE-DROP, VALIDATE, NONDE
#create : 서버가 실행될 때 생성한 테이블을 삭제
#create-drop : 서버가 종료될 때 생성한 테이블을 삭제
#update : 테이블이 없으면 생성, 테이블 변경이 있을 때는 ALTER문 실행
# DML : SELECT, INSERT, UPDATE, DELETE
# DCL : GRANT, REVOKE
ddl-auto: update
properties:
hibernate:
format_sql: true
logging:
level:
org.hibernate.SQL: debug
org.hibernate.orm.jdbc.bind: trace
//test07.java
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
//Entity는 DB의 테이블을 자동으로 생성해주는 클래스
// 클래스의 변수들이 DB 테이블의 속성으로 만들어진다
// ex) int idx => INT idx
// String name => VARCHAR(255) name
@Entity
public class Test07 {
@Id // 기본키
@GeneratedValue(strategy = GenerationType.IDENTITY) //AUTO_INCREMENT
private Long id;
private String name;
}
//Test07Repository
package com.example.day01.test07;
import org.springframework.data.jpa.repository.JpaRepository;
public interface Test07Repository extends JpaRepository<Test07, Long> {
}
@Entity가 붙은 클래스는 JPA가 DB 테이블로 매핑
Test07 클래스가 @Entity로 선언되어 있으므로, 해당 클래스로 테이블 생성

프로젝트를 실행하면 다음과 같이 test07 테이블이 자동으로 생성된 것을 확인할 수 있다.