Proljetni čizma s H2 bazom podataka

1. Pregled

U ovom uputstvu istražit ćemo upotrebu H2 s Spring Bootom. Baš kao i druge baze podataka, za njih postoji puna unutarnja podrška u ekosustavu Spring Boot.

2. Ovisnosti

Počnimo s h2 i spring-boot-starter-data-jpa ovisnosti:

 org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 vrijeme izvođenja 

3. Konfiguracija baze podataka

Prema zadanim postavkama Spring Boot konfigurira aplikaciju na povežite se s pohranom u memoriji s korisničkim imenom sa i praznu lozinku.

Međutim, te parametre možemo promijeniti dodavanjem sljedećih svojstava u primjena.svojstva datoteka:

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

Prema dizajnu, baza podataka u memoriji je hlapljiva i podaci će se izgubiti kada ponovno pokrenemo aplikaciju.

To ponašanje možemo promijeniti upotrebom pohrane zasnovane na datotekama. Da bismo to učinili, moramo ažurirati proljeće.dataizvor.url:

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

Baza podataka može raditi i u drugim načinima.

4. Operacije baze podataka

Izvođenje CRUD operacija s H2 u Spring Boot-u isto je kao i u ostalim SQL bazama podataka, a naši vodiči u seriji Spring Persistence dobro to pokrivaju.

U međuvremenu, dodajte a podaci.sql uloži u src / glavni / resursi:

TABLICA ZA PUSTO AKO POSTOJI milijarderi; IZRADI TABELU milijardera (id INT AUTO_INCREMENT PRIMARNI KLJUČ, ime_VARCHAR (250) NIJE NULL, prezime VARCHAR (250) NOT NULL, karijera VARCHAR (250) DEFAULT NULL); INSERT INTO milijardera (ime, prezime, karijera) VRIJEDNOSTI ('Aliko', 'Dangote', 'Milijarder industrijalac'), ('Bill', 'Gates', 'Billionaire Tech Entrepreneur'), ​​('Folrunsho', 'Alakija' , 'Milijarder naftni magnat');

Spring Boot automatski će pokupiti podaci.sql i pokrenite je protiv naše konfigurirane baze podataka H2 tijekom pokretanja aplikacije. Ovo je dobar način da se baza podataka postavi na testiranje ili u druge svrhe.

5. Pristup H2 konzoli

Baza podataka H2 ima ugrađenu GUI konzolu za pregledavanje sadržaja baze podataka i pokretanje SQL upita. Prema zadanim postavkama, H2 konzola nije omogućena u proljeće.

Da bismo je omogućili, moramo dodati sljedeće svojstvo primjena.svojstva:

proljeće.h2.console.enabled = true

Zatim, nakon pokretanja aplikacije, možemo doći do // localhost: 8080 / h2-konzola, koji će nam predstaviti stranicu za prijavu.

Na stranici za prijavu pružit ćemo iste vjerodajnice koje smo koristili u primjena.svojstva:

Jednom kada se povežemo, vidjet ćemo opsežnu web stranicu koja sadrži sve tablice na lijevoj strani stranice i okvir za tekst za pokretanje SQL upita:

Web konzola ima značajku automatskog dovršavanja koja predlaže ključne riječi SQL. Činjenica da je konzola lagana čini je praktičnom za vizualni pregled baze podataka ili izravno izvršavanje sirovog SQL-a.

Štoviše, konzolu možemo dodatno konfigurirati specificiranjem sljedećih svojstava u projektima primjena.svojstva sa našim željenim vrijednostima:

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

U gornjem isječku postavili smo put konzole / h2-konzola, što je u odnosu na adresu i priključak naše pokrenute aplikacije. Stoga, ako je naša aplikacija pokrenuta na // localhost: 9001, konzola će biti dostupna na // localhost: 9001 / h2-konzola.

Nadalje, postavili smo proljeće.h2.console.settings.trace do lažno kako bismo spriječili izlaz tragova, a također možemo onemogućiti daljinski pristup postavljanjem Proljeće.h2.console.settings.web-allow-others do lažno.

6. Zaključak

Baza podataka H2 u potpunosti je kompatibilna s Spring Boot-om. Vidjeli smo kako ga konfigurirati i kako koristiti H2 konzolu za upravljanje bazom podataka koja se izvodi.

Kompletni izvorni kod dostupan je na GitHubu.