Spring Boot+JPA+MariaDB 시작하기
Spring Boot + JPA + mariaDB 조합 프로젝트 설정을 정리하고자 한다.
https://start.spring.io/ 에서 dependency를 추가하여 프로젝트를 생성한 뒤 적절하게 DB 및 logging 설정을 입력하자.
1. mariaDB 설치
docker로 mariadb 설치하기 를 참고해서 mariaDB를 설치하거나 설치 파일을 이용하여 직접 mariaDB 를 설치한다.
2. Dependencies 를 빌드 명세에 추가하기
Maven, Gradle 둘 중 무엇을 사용해도 상관없으며 jpa, mariaDB 의존성을 추가하면 된다.
MariaDB Java Client 는 최신 버전을 조회하여 추가하였다.
https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client
Test dependency 는 프로젝트에 Junit4를 쓸지 Junit5를 쓸지에 따라 설정이 달라진다. spring-boot-starter-test 에 junit-vintage-engine 을 제외하여 Junit5 만 쓸 수 있게 하였다.
- JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
Lombok도 잊지말고 추가하자. 롬복 Dependency 설정
Maven 사용 시 pom.xml 에 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- mariadb -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.7.4</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
Gradle 사용 시 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:2.7.4'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
- runtimeOnly : 실행 시점에만 필요
3. DB 및 logging 설정 추가
application.properties 혹은 application.yml 에 설정을 추가한다.
spring.datasource 는 필수로 추가하여야 하고 그 외 정보는 필자가 프로젝트 설정 시 자주 복붙하는 기본 설정이다. 프로젝트에 맞게 그때 그때 logging 설정을 변경하면 된다.
application.properties 사용 할 때
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/DB명
spring.datasource.username=userName
spring.datasource.password=password
#update the schema with the given values.
spring.jpa.hibernate.ddl-auto=update
#To beautify or pretty print the SQL
spring.jpa.properties.hibernate.format_sql=true
#show sql
spring.jpa.properties.hibernate.show-sql=true
#show parameter binding
logging.level.org.hibernate.type.descriptor.sql=DEBUG
logging.level.org.hibernate.SQL=DEBUG
application.yml 사용 할 때
spring:
datasource:
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mariadb://localhost:3306/DB명?characterEncoding=UTF-8&serverTimezone=UTC
username: userName
password: password
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
format_sql: true #To beautify or pretty print the SQL
show_sql: true #show sql
logging:
level:
org.hibernate:
type.descriptor.sql: trace #show parameter binding
SQL: DEBUG
4. 마치며
Spring boot + JPA + MariaDB 로 프로젝트를 시작해보자
참고
반응형