Jarné zavedenie s databázou H2

1. Prehľad

V tomto tutoriáli sa budeme zaoberať používaním H2 s Spring Boot. Rovnako ako iné databázy, aj tu existuje úplná vnútorná podpora pre ekosystém Spring Boot.

2. Závislosti

Začnime s h2 a spring-boot-starter-data-jpa závislosti:

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

3. Konfigurácia databázy

Spring Boot predvolene konfiguruje aplikáciu na pripojiť k úložisku v pamäti pomocou používateľského mena sa a prázdne heslo.

Tieto parametre však môžeme zmeniť pridaním nasledujúcich vlastností do application.properties spis:

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

Podľa návrhu je databáza v pamäti nestála a pri reštartovaní aplikácie dôjde k strate údajov.

Toto správanie môžeme zmeniť pomocou úložiska založeného na súboroch. Aby sme to dosiahli, musíme aktualizovať spring.datasource.url:

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

Databáza môže pracovať aj v iných režimoch.

4. Databázové operácie

Vykonávanie operácií CRUD s H2 v rámci Spring Boot je rovnaké ako v iných databázach SQL a naše výukové programy zo série Spring Persistence to dobre pokrývajú.

Medzitým pridajme a data.sql uložiť v src / main / resources:

KROKOVÁ TABUĽKA, AK EXISTUJE miliardári; CREATE TABLE miliardári (id INT AUTO_INCREMENT PRIMARY KEY, meno_VARCHAR (250) NIE NULL, priezvisko VARCHAR (250) NIE NULL, kariéra VARCHAR (250) DEFAULT NULL); INSERT INTO billionaires (first_name, last_name, career) VALUES ('Aliko', 'Dangote', 'Billionaire Industrialist'), ('Bill', 'Gates', 'Billionaire Tech Entrepreneur'), ​​('Folrunsho', 'Alakija' , „Miliardársky ropný magnát“);

Spring Boot automaticky zdvihne data.sql a spustiť ju proti našej nakonfigurovanej databáze H2 počas spustenia aplikácie. Toto je dobrý spôsob naočkovania databázy na testovacie alebo iné účely.

5. Prístup k konzole H2

Databáza H2 má zabudovanú konzolu GUI na prehliadanie obsahu databázy a spúšťanie dotazov SQL. V predvolenom nastavení nie je konzola H2 na jar povolená.

Aby sme to povolili, musíme pridať nasledujúcu vlastnosť application.properties:

spring.h2.console.enabled = true

Potom po spustení aplikácie môžeme prejsť na // localhost: 8080 / h2-console, ktorá nám predstaví prihlasovaciu stránku.

Na prihlasovacej stránke dodáme rovnaké poverenia, aké sme použili v serveri application.properties:

Po pripojení sa nám zobrazí komplexná webová stránka so zoznamom všetkých tabuliek na ľavej strane stránky a textovým poľom na spustenie dotazov SQL:

Webová konzola má funkciu automatického dokončovania, ktorá navrhuje kľúčové slová SQL. Skutočnosť, že je konzola ľahká, je užitočná na vizuálnu kontrolu databázy alebo priame spustenie nespracovaného SQL.

Ďalej môžeme konzolu ďalej konfigurovať zadaním nasledujúcich vlastností v projekte application.properties s nami požadovanými hodnotami:

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

V úryvku vyššie sme nastavili cestu ku konzole / h2-konzola, ktorá je relatívna k adrese a portu našej spustenej aplikácie. Preto, ak je naša aplikácia spustená na // localhost: 9001, konzola bude k dispozícii na // localhost: 9001 / h2-console.

Ďalej sme nastavili spring.h2.console.settings.trace do nepravdivé aby sme zabránili sledovaniu výstupu, a môžeme tiež zakázať vzdialený prístup nastavením jar.h2.console.settings.web-allow-others do nepravdivé.

6. Záver

Databáza H2 je plne kompatibilná s Spring Boot. Už sme videli, ako to nakonfigurovať a ako používať konzolu H2 na správu našej bežiacej databázy.

Celý zdrojový kód je k dispozícii na GitHub.


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