Spring Boot を『はじめてのSpring-Boot』にて勉強中。
DB関連の設定で、いいこと書いていたので紹介します。
自動読み込みされるSQLファイル
Spring Bootではクラスパス直下(src/main/resources/*.sql)に以下のSQLファイルが存在すれば読み込んで実行される。
schema-(platform).sql
schema.sql
data-(platform).sql
data.sql
SQLファイルに日本語を使う場合
src/main/resources/application.properties
spring.datasource.sql-script-encoding=UTF-8
H2のDB設定
src/main/resources/application.properties
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=
永続化したければurlを以下のように変更
spring.datasource.url=jdbc:h2:file:./target/db/testdb
永続化する場合の設定
spring.datasource.url=jdbc:h2:file:./target/db/testdb
Log4JDBCを使ったSQLログ出力
- pom.xml
<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.7</version>
</dependency>
- Log4JDBC用のJDBCドライバ設定
src/main/resources/application.properties
spring.datasource.driver-class-name=net.sf.log4jdbc.DriverSpy
spring.datasource.url=jdbc:log4jdbc:省略
- Log4JDBC用ログレベル設定
src/main/resources/application.properties
logging.level.jdbc=OFF
logging.level.jdbc.sqltiming=DEBUG