Spring H2 Support
Internal
Playground Example
Overview
If a H2 dependency is available in the runtime classpath, the Spring Boot runtime automatically creates an appropriate DataSource bean in the application context. The bean applies the SQL scripts "schema.sql" and "data.sql".
Simple Project
Use Spring Initializr to bootstrap the project. Alternatively use Spring Initializr-generated build.gradle and settings.gradle.
To bootstrap JPA and H2, add the following dependencies:
dependencies {
...
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
runtimeOnly('com.h2database:h2')
...
}
Follow the JPA programming model described at Adding Persistence with Spring Data JPA.
To test from command line, add command-line support as specified in Console (command-line) Application with Spring Boot.
To configure IntelliJ IDEA to access the in-memory database see IntelliJ IDEA H2 Support.
Database Access Configuration
Based on:
Add in application.properties or equivalent:
spring.datasource.url=jdbc:h2:tcp://localhost/mem:default
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.platform=h2
Database Initialization
Based on:
spring.jpa.generate-ddl=true
Alternative:
spring.datasource.initialization-mode=always
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=true