Spring Boot 再入門 (2)

2024.08.04

143

こんにちは!原です!

今回は Spring Boot で H2 データベースを

利用するための設定をご紹介します。


Spring BootでH2 DataBaseを利用する

Gradle の設定

Gradle の設定ファイルに下記の記述を追加します。

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

アプリケーションの設定

src/main/resources/application.properties ファイルに H2 データベースの設定を追加します。

# Datasource
spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update


DB_CLOSE_DELAY=-1: H2の接続が切れてもデータベースをドロップしなくなる

DB_CLOSE_ON_EXIT=FALSE: VM終了時の自動データベースクローズを無効にする

スキーマを用意する

/demo/src/main/resources/schema.sql に users テーブルのスキーマを用意する。

※user は H2 データベースの予約語になっているため、 user テーブルだとエラーになります。

CREATE SEQUENCE IF NOT EXISTS "ID_SEQ" 
MINVALUE 1 
MAXVALUE 999999999 
INCREMENT BY 1 
START WITH 2 
NOCACHE 
NOCYCLE;

CREATE TABLE IF NOT EXISTS users(
	id VARCHAR(50)  DEFAULT nextval('ID_SEQ') PRIMARY KEY ,
	name VARCHAR(50),
	email VARCHAR(80)
	);

初期データを用意する

/demo/src/main/resources/data.sql に初期データを用意する。

INSERT INTO users (id, name, email) VALUES('1', 'Hara', 'hara@example.com')

H2 データベースの起動を確認する

http://8080/h2-console にアクセスすると下記画面が表示される。

JDBC URL を画像のものに書き換えて connect をクリックする。

すると、 users テーブルが作成されていることが確認できる。

この記事をシェアする