[JAVA] Frühling mit Kotorin - 8 Repository-Schicht - Ergänzung: H2-Datenbank

Übersicht / Beschreibung

Spring with Kotorin-- 8. Repository-Schicht bietet eine Repository-Schicht, um den Datenpersistenzprozess zu abstrahieren und einen externen Persistenzbereich zu erstellen. Die Operation zu wird transparent gemacht.

In diesem Fall verwendete der externe Persistenzbereich das H2 Database Engine, das im Arbeitsspeicher ausgeführt und in die Anwendung integriert wird.

Dieses H2-Datenbankmodul verfügt über eine integrierte Konsolenanwendung zum Überprüfen von Datenbankinformationen. Lassen Sie uns den Status der Datenbank damit überprüfen.

Annahme / Umwelt

Laufzeitversion

Spring Dependencies

Entwicklungsumgebung

Vorgehensweise / Erklärung

Einstellungen in application.yml

Definieren Sie die Konfigurationsinformationen in der application.yml von SpringBoot, damit die H2-Datenbank wie folgt verwendet werden kann.

Datenquelle

Definieren Sie die Datenquelle für die Verbindung zur Datenbank aus der Spring-Anwendung wie folgt.

spring:
  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:mem:app;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE
    username: guest
    password: guest
Komponente Inhalt
driver-class-name H2DB-Treiberbibliothek
org.h2.Driver
url Datenbankverbindungs-URL(* Das Format wird später beschrieben)
jdbc:h2:mem:app;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE
username Benutzername der Datenbankverbindung
password Kennwort für die Datenbankverbindung
H2-Datenbankverbindungs-URL-Format

Die H2-Datenbank kann verschiedene Betriebsmodi verwenden, z. B. die Verwendung einer integrierten Anwendung, die im Speicher ausgeführt wird, den Servermodus, der als Remote-Server ausgeführt wird, und den Vorgang des Schreibens von Daten in das Dateisystem. Das Verbindungs-URL-Format wird an jeden Betriebsmodus angepasst.

Aktionsmodus URL-Format Stichprobe
Eingebauter Modus: In-Memory(Privat) jdbc:h2:mem: jdbc:h2:mem:
Eingebauter Modus: In-Memory(Named) jdbc:h2:mem:<DB-Name> jdbc:h2:mem:app
Eingebauter Modus: Lokale Datei jdbc:h2:[file:][<Dateipfad>]<DB-Name> jdbc:h2:file:/data/sample
In-Memory-DB-Drop-Verhinderung DB_CLOSE_DELAY=-1 jdbc:h2:mem:app;DB_CLOSE_DELAY=-1
Servermodus: TCP-Verbindung jdbc:h2:tcp://[:]/[] jdbc:h2:tcp://localhost:8084/data/sample
Servermodus: TLS-Verbindung jdbc:h2:ssl://[:]/[] jdbc:h2:ssl://localhost/mem:test
Trennung der DB-Verbindung bei Beendigung der VM DB_CLOSE_ON_EXIT=TRUE jdbc:h2:mem:app;DB_CLOSE_ON_EXIT=TRUE

H2-Datenbank

Nehmen Sie die folgenden Einstellungen vor, um den Konsolenbildschirm der H2-Datenbank anzuzeigen.

spring:
  h2:
    console:
      enabled: true

Anzeigen des Konsolenbildschirms der H2-Datenbank

Versuchen Sie nach dem Starten der Anwendung, auf den Bildschirm der H2-Datenbankkonsole zuzugreifen.

$ ./gradlew bootRun

> Task :bootRun

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.1.RELEASE)
:
:
:
2019-02-26 16:05:13.358  INFO 7073 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 15 endpoint(s) beneath base path '/admin'
2019-02-26 16:05:13.457  INFO 7073 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2019-02-26 16:05:13.460  INFO 7073 --- [           main] i.p.s.simple.SimpleApplicationKt         : Started SimpleApplicationKt in 5.577 seconds (JVM running for 5.998)
<==========---> 83% EXECUTING [2m 46s]
> :bootRun

--Greifen Sie auf http: // localhost: [Portnummer einstellen] / h2-console und geben Sie den Verbindungsbenutzer / das Kennwort der H2-Datenbank ein, um eine Verbindung herzustellen.

h2-console-login.png H2-console.png

Zusammenfassung / Rückblick

Ich habe versucht, die H2-Datenbank zu betreiben, die in Kombination mit SpringBoot problemlos verwendet werden kann. In Anwendungsentwicklungssituationen, die nicht von der Datenbankfunktion selbst abhängen, kann es verschiedene Situationen geben, in denen eine benutzerfreundliche H2-Datenbank ohne Installationsarbeiten verwendet werden kann.

Diese Quelle

Recommended Posts

Frühling mit Kotorin - 8 Repository-Schicht - Ergänzung: H2-Datenbank
Frühling mit Kotorin --- 8. Aufbewahrungsschicht
Feder mit Kotorin ―― 7. Serviceschicht
Frühling mit Kotorin ―― 9. Datenbankmigration ―― Flyway
Feder mit Kotorin --5 Aktuator
Frühling mit Kotorin ―― 1. SPRING INITIALIZR
Feder mit Kotorin --6 Asynchrone Verarbeitung
Feder mit Kotorin --4 REST API Design
Datenbankverknüpfung mit doma2 (Spring Boot)
Feder mit Kotorin --2 RestController und Datenklasse
DB-Umgebungskonstruktion mit DBFlute Intro + H2-Datenbank
Erstellen eines gemeinsamen Repositorys mit Spring Data JPA
Erstellen einer Datenbankumgebung mit Docker in Spring Boot (IntellJ)