[Spring Boot]Spring Boot에서 H2 사용해보기

한상욱·2023년 11월 2일
0

Spring Boot

목록 보기
4/19
post-thumbnail

들어가며

이 글은 Spring Boot를 공부하며 정리한 글입니다.

데이터베이스

어플리케이션에서 데이터베이스가 없다면, 사용자에게 전달되는 정보는 대부분 일시적인 정보겠죠. 하지만, 데이터베이스를 이용하여 모든 사용자에게 동일한 정보를 전달할 수 있습니다. 그래서 가장 기본적인 H2 데이터베이스와 JPA를 이용하여 DB에 액세스하는 방법에 대해서 알아보겠습니다.

의존성 추가

처음 프로젝트를 생성할 당시에 의존성을 추가하지 않았다면, build.gradle에 의존성을 추가해주어야 합니다.

dependencies {

	...
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	runtimeOnly 'com.h2database:h2'
	...
}

위 의존성을 추가해주면 JPA와 H2 데이터베이스를 사용할 수 있습니다. 추가를 하지 않으면, java.persistence를 사용할 수 없어요.

플러그인 추가

플러그인 추가하는 방법은 프로젝트 설정에 따라 다릅니다. 저는 Gradle(Groovy)이기 때문에 아래와 같이 JPA 플러그인을 추가하겠습니디ㅏ.

plugins {
	...
	id 'org.jetbrains.kotlin.plugin.jpa' version '{코틀린 버전}'
}

application.property 설정

application.property 파일안에 H2 데이터베이스에 접근하기 위한 정보를 입력합니다.

spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:crypto-labs

Entity 만들기

이제 도메인을 만들어보겠습니다. 제가 만들 도메인은 Human으로 아래와 같이 작성해줍니다. 만약 에러가 발생하면 플러그인이나 의존성 문제이니까 수정하시면 됩니다.

...

import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.GenerationType
import javax.persistence.Id

@Entity
data class Human(
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	var id : Int = 0,
	var name : String,
)

도메인까지 생성을 완료했습니다.

H2 콘솔에 접속하기

이제 스프링 프로젝트를 디버깅해보겠습니다. 별다른 RestController는 필요하지 않아요. 단순하게 데이터베이스에 액세스하기 위해서 그냥 실행합니다.

http://localhost:8080/h2-console

실행에 성공하면 위 url로 접속해줍니다.

자, 이 화면이 등장하면 성공적으로 프로젝트가 실행되었다고 할 수 있습니다. JDBC URL은 application.property에 적은 url을 입력하고 Connect 해봅시다.

도메인으로 정의한 테이블이 생성되어있는 것을 확인할 수 있습니다.

profile
자기주도적, 지속 성장하는 모바일앱 개발자가 되기 위해

0개의 댓글