Spring JDBC - Übersicht

Während der Arbeit mit Datenbanken unter Verwendung von einfachem altem JDBC wird es umständlich, unnötigen Code zu schreiben, um Ausnahmen zu behandeln, Datenbankverbindungen zu öffnen und zu schließen usw. Spring JDBC Framework kümmert sich jedoch um alle Details auf niedriger Ebene, beginnend mit dem Öffnen der Verbindung, dem Vorbereiten und Ausführen der SQL-Anweisung, Verarbeiten von Ausnahmen, Behandeln von Transaktionen und endgültiges Schließen der Verbindung.

Sie müssen lediglich die Verbindungsparameter definieren, die auszuführende SQL-Anweisung angeben und die erforderliche Arbeit für jede Iteration ausführen, während Sie Daten aus der Datenbank abrufen.

Spring JDBC bietet verschiedene Ansätze und entsprechend unterschiedliche Klassen für die Schnittstelle mit der Datenbank. In diesem Tutorial werden wir den klassischen und beliebtesten Ansatz verwenden, der die JDBC-Vorlagenklasse des Frameworks verwendet. Dies ist die zentrale Framework-Klasse, die die gesamte Datenbankkommunikation und Ausnahmebehandlung verwaltet.

JDBC-Vorlagenklasse

Die JDBC-Vorlagenklasse führt SQL-Abfragen aus, aktualisiert Anweisungen und Aufrufe gespeicherter Prozeduren, führt eine Iteration über ResultSets durch und extrahiert zurückgegebene Parameterwerte. Außerdem werden JDBC-Ausnahmen abgefangen und in die generische, informativere Ausnahmehierarchie übersetzt, die im Paket org.springframework.dao definiert ist.

Instanzen der JDBC-Vorlagenklasse sind nach der Konfiguration threadsicher. Sie können also eine einzelne Instanz einer JDBC-Vorlage konfigurieren und diese gemeinsam genutzte Referenz dann sicher in mehrere DAOs einfügen.

Bei Verwendung der JDBC-Vorlagenklasse wird häufig eine DataSource in Ihrer Spring-Konfigurationsdatei konfiguriert und diese gemeinsam genutzte DataSource-Bean dann in Ihre DAO-Klassen in Abhängigkeit injiziert. Die JDBC-Vorlage wird im Setter für die DataSource erstellt.

Datenzugriffsobjekt (DAO)

DAO steht für Data Access ObjectDies wird häufig für die Datenbankinteraktion verwendet. DAOs bieten die Möglichkeit, Daten zu lesen und in die Datenbank zu schreiben, und sie sollten diese Funktionalität über eine Schnittstelle verfügbar machen, über die der Rest der Anwendung auf sie zugreifen kann.

Die DAO-Unterstützung (Data Access Object) im Frühjahr erleichtert die konsistente Arbeit mit Datenzugriffstechnologien wie JDBC, Hibernate, JPA oder JDO.