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.
Spring Dependencies
Definieren Sie die Konfigurationsinformationen in der application.yml von SpringBoot, damit die H2-Datenbank wie folgt verwendet werden kann.
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-Treiberbibliothekorg.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 |
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 |
Nehmen Sie die folgenden Einstellungen vor, um den Konsolenbildschirm der H2-Datenbank anzuzeigen.
spring:
h2:
console:
enabled: true
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.
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.
Recommended Posts