Spring Boot With H2 Database

1. Oversikt

I denne opplæringen vil vi utforske bruk av H2 med Spring Boot. Akkurat som andre databaser, er det full egen støtte for det i Spring Boot-økosystemet.

2. Avhengigheter

La oss begynne med h2 og spring-boot-starter-data-jpa avhengigheter:

 org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 runtime 

3. Databasekonfigurasjon

Som standard konfigurerer Spring Boot applikasjonen til koble til en minnebutikk med brukernavnet sa og et tomt passord.

Vi kan imidlertid endre disse parameterne ved å legge til følgende egenskaper i application.properties fil:

spring.datasource.url = jdbc: h2: mem: testdb spring.datasource.driverClassName = org.h2.Driver spring.datasource.username = sa spring.datasource.password = password spring.jpa.database-platform = org.hibernate. dialekt.H2Dialekt

Etter design er databasen i minnet ustabil, og data vil gå tapt når vi starter applikasjonen på nytt.

Vi kan endre atferden ved å bruke filbasert lagring. For å gjøre dette må vi oppdatere våren.datasource.url:

spring.datasource.url = jdbc: h2: file: / data / demo

Databasen kan også fungere i andre moduser.

4. Databaseoperasjoner

Å utføre CRUD-operasjoner med H2 i Spring Boot er det samme som i andre SQL-databaser, og opplæringsprogrammene våre i Spring Persistence-serien gjør en god jobb med å dekke dette.

I mellomtiden, la oss legge til en data.sql fil i src / main / resources:

DROPTABELL HVIS DET FINNER milliardærer; OPPRETT TABELL milliardærer (id INT AUTO_INCREMENT PRIMÆR NØKKEL, fornavn VARCHAR (250) IKKE NULL, etternavn VARCHAR (250) IKKE NULL, karriere VARCHAR (250) STANDARD NULL); INSERT INTO billionaires (first_name, last_name, career) VALUES ('Aliko', 'Dangote', 'Millionaire Industrialist'), ('Bill', 'Gates', 'Billionaire Tech Entrepreneur'), ​​('Folrunsho', 'Alakija' , 'Milliardær oljemagnat');

Spring Boot vil automatisk plukke opp data.sql og kjør den mot vår konfigurerte H2-database under oppstart av applikasjonen. Dette er en god måte å frø databasen for testing eller andre formål.

5. Få tilgang til H2-konsollen

H2-database har en innebygd GUI-konsoll for å bla gjennom innholdet i en database og kjøre SQL-spørringer. H2-konsollen er som standard ikke aktivert om våren.

For å aktivere det, må vi legge til følgende eiendom i application.properties:

spring.h2.console.enabled = true

Etter at vi har startet applikasjonen, kan vi navigere til // localhost: 8080 / h2-konsoll, som vil gi oss en påloggingsside.

På påloggingssiden gir vi de samme legitimasjonene som vi brukte i application.properties:

Når vi kobler til, ser vi en omfattende webside som viser alle tabellene på venstre side av siden og en tekstboks for å kjøre SQL-spørsmål:

Nettkonsollen har en automatisk fullføringsfunksjon som foreslår SQL-nøkkelord. Det faktum at konsollen er lett, gjør den praktisk for visuell inspeksjon av databasen eller utføring av rå SQL direkte.

Videre kan vi konfigurere konsollen ytterligere ved å spesifisere følgende egenskaper i prosjektets application.properties med våre ønskede verdier:

spring.h2.console.path = / h2-console spring.h2.console.settings.trace = false spring.h2.console.settings.web-allow-others = false

I utdraget ovenfor setter vi konsollbanen til å være / h2-konsoll, som er relativt til adressen og porten til den kjørende applikasjonen vår. Derfor, hvis appen vår kjører kl // lokal vert: 9001vil konsollen være tilgjengelig på // localhost: 9001 / h2-konsoll.

Videre setter vi spring.h2.console.settings.trace til falsk for å forhindre sporing av utdata, og vi kan også deaktivere ekstern tilgang ved å stille inn vår.h2.console.settings.web-allow-others til falsk.

6. Konklusjon

H2-databasen er fullt kompatibel med Spring Boot. Vi har sett hvordan du konfigurerer den og hvordan du bruker H2-konsollen til å administrere vår løpende database.

Den komplette kildekoden er tilgjengelig på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found