Tavaszi csomagtartó H2 adatbázissal

1. Áttekintés

Ebben az oktatóanyagban feltárjuk a H2 és a Spring Boot együttes használatát. Csakúgy, mint más adatbázisok, a Spring Boot ökoszisztémában teljes támogatottsága van rá.

2. Függőségek

Kezdjük a h2 és spring-boot-starter-data-jpa függőségek:

 org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 futásidejű 

3. Adatbázis-konfiguráció

Alapértelmezés szerint a Spring Boot konfigurálja az alkalmazást csatlakozzon egy memóriatárolóhoz a felhasználónévvel sa és egy üres jelszót.

Ezeket a paramétereket azonban megváltoztathatjuk a következő tulajdonságok hozzáadásával a alkalmazás.tulajdonságok fájl:

spring.datasource.url = jdbc: h2: mem: testdb spring.datasource.driverClassName = org.h2.Driver spring.datasource.username = sa spring.datasource.password = jelszó spring.jpa.database-platform = org.hibernate. dialektus.H2Dialect

Tervezés szerint a memóriában lévő adatbázis ingatag, és az adatok újra elvesznek, amikor újraindítjuk az alkalmazást.

A fájl alapú tárolás használatával megváltoztathatjuk ezt a viselkedést. Ehhez frissítenünk kell a spring.datasource.url:

spring.datasource.url = jdbc: h2: fájl: / data / demo

Az adatbázis más módokban is működhet.

4. Adatbázis-műveletek

A CRUD műveletek végrehajtása a H2-vel a Spring Boot-on belül megegyezik a többi SQL-adatbázissal, és a Spring Persistence sorozat oktatóanyagaink jó munkát végeznek ennek lefedésében.

Addig tegyük hozzá a adatok.sql fájl src / main / resources:

CSÖKKENJEN TÁBLÁZATOT, HOGY LÉGZIK milliárdosok; CREATE TABLE milliárdosok (id INT AUTO_INCREMENT PRIMARY KEY, first_name VARCHAR (250) NOT NULL, last_name VARCHAR (250) NOT NULL, karrier VARCHAR (250) DEFAULT NULL); INSERT INTO milliárdosok (keresztnév, vezetéknév, karrier) ÉRTÉKEK ('Aliko', 'Dangote', 'Billionaire Industrialist'), ('Bill', 'Gates', 'Billionaire Tech Entrepreneur'), ​​('Folrunsho', 'Alakija') , A „milliárdos olajmágnes”);

A Spring Boot automatikusan felveszi a adatok.sql és futtassa a konfigurált H2 adatbázisunkkal az alkalmazás indításakor. Ez egy jó módja annak, hogy tesztelés céljából vagy más célokra beágyazhassa az adatbázist.

5. Hozzáférés a H2 konzolhoz

A H2 adatbázis egy beágyazott GUI konzollal rendelkezik az adatbázis tartalmának böngészéséhez és SQL lekérdezések futtatásához. Alapértelmezés szerint a H2 konzol tavasszal nincs engedélyezve.

Engedélyezéséhez hozzá kell adnunk a következő tulajdonságot a alkalmazás.tulajdonságok:

spring.h2.console.enabled = true

Ezután az alkalmazás elindítása után navigálhatunk a // localhost: 8080 / h2-console, amely bejelentkezési oldalt mutat be nekünk.

A bejelentkezési oldalon ugyanazokat a hitelesítő adatokat adjuk meg, amelyeket a alkalmazás.tulajdonságok:

A csatlakozás után átfogó weboldalt fogunk látni, amely felsorolja az oldal bal oldalán található összes táblázatot és egy szövegdobozt az SQL-lekérdezések futtatásához:

A webkonzol rendelkezik automatikus kiegészítéssel, amely SQL kulcsszavakat javasol. Az a tény, hogy a konzol könnyű, megkönnyíti az adatbázis vizuális ellenőrzését vagy a nyers SQL közvetlen végrehajtását.

Ezenkívül tovább konfigurálhatjuk a konzolt a következő tulajdonságok megadásával a projektben alkalmazás.tulajdonságok a kívánt értékekkel:

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

A fenti részletben a konzol elérési útját állítjuk be / h2-konzol, amely a futó alkalmazásunk címéhez és portjához viszonyul. Ezért, ha az alkalmazásunk fut // localhost: 9001, a konzol a következő címen lesz elérhető: // localhost: 9001 / h2-console.

Továbbá beállítottuk tavasz.h2.konzol.beállítások.nyoma nak nek hamis a nyomkövetés megakadályozása érdekében, és a távoli hozzáférést is letilthatjuk beállítással tavaszi.h2.konzol.beállítások.web-engedélyez-mások nak nek hamis.

6. Következtetés

A H2 adatbázis teljes mértékben kompatibilis a Spring Boot programmal. Láttuk, hogyan kell konfigurálni és hogyan kell használni a H2 konzolt a futó adatbázis kezeléséhez.

A teljes forráskód elérhető a GitHub oldalon.