Spring Boot mit mehreren SQL-Importdateien

Spring Boot mit mehreren SQL-Importdateien

1. Überblick

Mit Spring Boot können wir Beispieldaten in unsere Datenbank importieren - hauptsächlich, um Daten für Integrationstests vorzubereiten. Im Auslieferungszustand gibt es zwei Möglichkeiten. We can use import.sql (Hibernate support) or data.sql (Spring JDBC support) files to load data.

Manchmal möchten wir jedoch eine große SQL-Datei in einige kleinere aufteilen, z. B. um die Lesbarkeit zu verbessern oder um einige Dateien mit Init-Daten zwischen Modulen auszutauschen.

In diesem Tutorial zeigen wir Ihnen, wie Sie dies mit Hibernate und Spring JDBC tun.

2. Unterstützung für den Ruhezustand

Wir können Dateien definieren, diesample data to load with a propertyspring.jpa.properties.hibernate.hbm2ddl.import_files enthalten. Sie kann in der Dateiapplication.properties im Ordner mit den Testressourcen festgelegt werden.

In diesem Fall möchten wir Beispieldaten nur für JUnit-Tests laden. Der Wert muss eine durch Kommas getrennte Liste der zu importierenden Dateien sein:

spring.jpa.properties.hibernate.hbm2ddl.import_files=import_active_users.sql,import_inactive_users.sql

Diese Konfiguration lädt Beispieldaten aus zwei Dateien:import_active_users.sql undimport_inactive_users.sql. Wichtig hier zu erwähnen ist, dass wirhave to use prefix spring.jpa.properties to pass values (JPA configuration)to the EntityManagerFactory.

Als Nächstes zeigen wir, wie wir dies mit einer Spring JDBC-Unterstützung tun können.

3. Spring JDBC-Unterstützung

Die Konfiguration für Anfangsdaten und die EigenschaftSpring JDBC support is very similar to Hibernate. We have to use the spring.datasource.data:

spring.datasource.data=import_active_users.sql,import_inactive_users.sql

Wenn Sie den Wert wie oben festlegen, werden die gleichen Ergebnisse wie im Ruhezustand erzielt. Ein signifikanter Prozentsatz (t0) s:

spring.datasource.data=import_*_users.sql

Der obige Wert weist Spring an, nach allen Dateien mit einem Namen zu suchen, der mitimport_*_users.sql pattern übereinstimmt, und Daten zu importieren, die sich darin befinden.

4. Fazit

In diesem kurzen Artikel wurde gezeigt, wie die Spring Boot-Anwendung so konfiguriert wird, dass anfängliche Daten aus benutzerdefinierten SQL-Dateien geladen werden.

Schließlich haben wir zwei Möglichkeiten aufgezeigt - Hibernate und Spring JDBC. Beide funktionieren ziemlich gut und es liegt am Entwickler, welchen er wählt.

Wie immer sind die vollständigen Codebeispiele in diesem Artikel inover on Github verfügbar.