Detailliertes Beispiel für das Datenbankbetriebsobjektmodell in Spring jdbc Objektivierung von Spring JDBC-Datenbankoperationen Verwenden Sie objektorientierte Methoden, um relationale Datenbankoperationen darzustellen und ein threadsicheres und wiederverwendbares Objektmodell zu implementieren. Die übergeordnete Klassenschnittstelle der obersten Ebene ist RdbmsOperation. SqlOperation erbt diese Schnittstelle, um Datenbankoperationen wie Auswählen, Aktualisieren und Aufrufen zu implementieren. 1. Abfrageschnittstelle: SqlQuery 1) Generische SQL-Abfrage, aktualisierbare SQL-Abfrage, MappingSQL-Abfrage mit Parameter 2) SqlUpdate, BatchSqlUpdate 3) SQL-Aufruf 1) Kapseln Sie die Datenbankoperation „select“ als Objekt. Die Basisklasse der Abfrageoperation ist SqlQuery. Alle Abfragen können durch diese Klasse dargestellt werden. Spring JDBC bietet auch einige einfacher zu verwendende MappingSqlQueryWithParameters und MappingSqlQuery zum Zuordnen von Ergebnismengen zu Java-Objekten. Die Abfrageobjektklasse bietet außerdem zwei Erweiterungen: UpdatableSqlQuery und SqlFunction. 2) Hinzufügen, Löschen und Ändern von Operationen, kapseln Sie die Datenbankoperationen Einfügen, Aktualisieren und Löschen als Objekte. Die Basisklasse für Hinzufügen, Löschen und Ändern von Operationen ist SqlUpdate. Natürlich wird auch BatchSqlUpdate für die Stapelverarbeitung bereitgestellt. 3) Gespeicherte Prozeduren und Funktionsaufrufe werden als Objekte gekapselt. Die Basisklasse ist die SqlCall-Klasse, die eine StoredProcedure-Implementierung bereitstellt. Datenbankverbindung JDBC: Spring jdbc steuert die Datenbankverbindung über DataSource, das heißt, sie wird über ihre Implementierungsunterklasse abgerufen. 1) DriverManagerDataSource: Einfache Kapselung von DriverManager.getConnection() 2) SingleConnectionDataSource: kapselt eine Verbindung intern, wird nicht geschlossen und kann nicht von mehreren Threads verwendet werden, dient zum Testen 3) LazyConnectionDataSourceProxy: Kapselt DataSource und wird verwendet, um den Erwerb von Datenbankverbindungen zu verzögern. Die Verbindung wird nur dann erlangt, wenn tatsächlich eine Anweisung erstellt wird. Daher wird in tatsächlichen Projekten der Proxy schließlich verwendet, um die ursprüngliche DataSource zu umhüllen, sodass die Verbindung nur dann erlangt wird, wenn sie wirklich benötigt wird. Verkäufer: Die bereitgestellten DataSource-Implementierungen umfassen hauptsächlich C3P0/Proxool/DBCP/ usw. Diese Implementierungen verfügen alle über Datenbankverbindungspoolfunktionen. DataSourceUtils: Das abstrakte Spring JDBC-Framework erhält Datenbankverbindungen über seine Methode getConnection(DataSource dataSource), releaseConnection(Connection con, DataSource dataSource) wird zum Freigeben von Datenbankverbindungen verwendet und DataSourceUtils wird zum Unterstützen von Spring-verwalteten Transaktionen verwendet. Nur Verbindungen, die mit DataSourceUtils erhalten wurden, verfügen über Spring-verwaltete Transaktionen. Spring JDBC bietet konsistenten Datenbankzugriff über die abstrakte Klasse DaoSupport. 1) JdbcDaoSupport: unterstützt konsistenten JdbcTemplate-Zugriff 2) NamedParameterJdbcDaoSupport: Eine Unterklasse von JdbcDaoSupport, die Zugriff auf NamedParameterJdbcTemplate bietet 3) SimpleJdbcDaoSupport: JdbcDaoSupport-Unterklasse, die Zugriff auf SimpleJdbcTemplate bietet Da die Klassen JdbcTemplate, NamedParameterJdbcTemplate und SimpleJdbcTemplate DataSourceUtils zum Abrufen und Freigeben von Verbindungen verwenden und die Verbindungen an Threads gebunden sind, sind diese JDBC-Vorlagenklassen threadsicher, d. h. JdbcTemplate-Objekte können in mehreren Threads wiederverwendet werden. Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht oder kommen Sie zur Diskussion in die Community. Vielen Dank fürs Lesen und ich hoffe, es kann Ihnen helfen. Vielen Dank für Ihre Unterstützung dieser Site! Das könnte Sie auch interessieren:
|
<<: So erstellen Sie eine Swap-Partitionsdatei in Linux
>>: Implementierung der Parametersprungfunktion im Vue-Projekt
Beschreibung: Begrenzen Sie die Anzahl der Textze...
Inhaltsverzeichnis 1. Einleitung 2. Grundsatz Pra...
Die GROUP BY-Anweisung wird in Verbindung mit der...
Vorwort Der Autor war schon immer der Meinung, da...
XML/HTML-CodeInhalt in die Zwischenablage kopiere...
Wenn vue2 Zeitstempel konvertiert, verwendet es i...
Derselbe Server simuliert die Master-Slave-Synchr...
1. Wählen Sie in der Menüleiste „Bearbeiten“ → „V...
Superset ist ein leichtes Self-Service-BI-Framewo...
Vorwort Node wird als mittlere Schicht im Projekt...
In diesem Artikel finden Sie das Installations- u...
Dieser Artikel stellt hauptsächlich die binären O...
1. Konfigurieren Sie den Docker-Remoteverbindungs...
1. Befehlseinführung nl (Anzahl der Zeilen) fügt ...
In diesem Artikelbeispiel wird der spezifische Co...