Angelegenheiten
Die Transaktion ist eine logische Ausführungseinheit, die aus einer Betriebssequenz oder mehreren Schritten besteht. Vier Merkmale von Transaktionen: Atomizität, Konsistenz, Isoisierung und Atomizität der Haltbarkeit: Die kleinste Ausführungseinheit der Transaktionsanwendung kann nicht geteilt werden. Es ist der minimale logische Ausführungskörper, der nicht mehr in Angelegenheiten aufgeteilt ist.
Konsistenz: Das Ergebnis der Ausführung der Transaktion muss die Datenbank von einer Konsistenz in einen anderen Zustand ergeben.
Isoitäten: Die Ausführung jeder Transaktion wird nicht gestört, und die internen Operationen einer Transaktion werden für andere gleichzeitige Transaktionen isoliert. Das heißt: Der Zwischenstatus der anderen Partei kann nicht zwischen der Transaktion der gleichzeitigen Ausführung und den Angelegenheiten der gleichzeitigen Ausführung voneinander gesehen werden.
Haltbarkeit: Kontinuität ist auch als Persistenz bezeichnet.
Die an der üblichen Datenbank beteiligten Sätze sind: Ein Satz von DML -Anweisung (Datenmunipuration, Datenbetriebssprache). Diese Reihe von DML -Anweisungen behält eine gute Konsistenz nach der Änderung bei. ; Eine DDL (Databendesprachensprache, Datenteuerung), die Sprache des Datenobjekts hat erstellt, verändert, Drop. Eine Datenkontrollsprache, Datenkontrollsprache) Erklärung, hauptsächlich Aussagen und widerrufen Aussagen. DDL- und DCL -Anweisungen können höchstens verfügbar sein, da sie sofort Transaktionen einreichen. Wenn alle im Büro enthaltenen Datenbankvorgänge erfolgreich implementiert werden, sollten Transaktionen eingereicht werden, um diese Änderungen dauerhaft effektiv zu machen. Es gibt zwei Möglichkeiten zur Übermittlung von Transaktionen: Einreichung und Automatikantrieb anzeigen. Einreichung anzeigen: Verwenden Sie den Verpflichtung, automatisch Einreichung einzureichen: Führen Sie DLL oder DCL aus, oder das Programm wird aus jeder in der Transaktion enthaltenen Datenbank aus der Datenbankbetrieb ausgeführt. Es sollte zurückgerollt werden, um alle Änderungen in der Transaktion vorzunehmen. Es gibt zwei Möglichkeiten, die Transaktion zu rollen: Rollback und automatischer Rollback anzeigen. Rollback anzeigen: Verwenden Sie Rollback, um automatisch zu rollen: Systemfehler oder gewaltsam beenden.
Mögliche Probleme der gleichzeitigen Verarbeitung von Transaktionen
1. Dirty Read: Eine Transaktion liest die Daten, die nicht von einer anderen Transaktion eingereicht wurden
2. Nicht repertierbares Lesen: Der Betrieb einer Transaktion führt dazu, dass verschiedene Daten vor und nach der anderen zweimal gelesen werden
3.. Phantom Read: Der Betrieb einer Transaktion führt zu den Ergebnissen der Ergebnisse der Ergebnisse von zwei Abfragen vor und nach der anderen
Beispiel:
Während der Ausführung der Transaktion A und B:
Java JDBC -Transaktionsmechanismus
Java.SQL.Connection; Final String user = "root"; String querysql = "Abfrage SQL"; Aktualisierung von PSTMTUPDATE ); } Endlich {try {if (pstMtupdate! ;}} Catch (SQLEXception E2) {}}}}}
Die Angelegenheiten von JDBC
Die Verbindung von JDBC unterstützt auch Dinge. Mit anderen Worten, die Ausführung jeder SQL -Anweisung wird sofort an die Datenbank übermittelt, die dauerhaft wirksam ist und sie nicht bedienen kann. Schließen Sie die automatische Einreichung der Verbindung und starten Sie die Dinge. Die SetAutoCommit -Verknüpfungsmethode lautet: Connection.SetAutoCommit (Falsch); Wenn wir die Dinge einschalten, wird die in der aktuelle Verbindung ausgeführte Datenbankoperation nicht sofort an die Datenbank übermittelt, und wir müssen die Verknüpfungsmethode aufrufen. Wenn es einen Anweisungsfehler gibt, können Sie Rollback hin und her anrufen. HINWEIS: Wenn die Verbindung auf eine unverarbeitete SQLEXception -Abnormalität stößt, wird das System ungewöhnlich beendet, und das System rollt die Transaktion automatisch zurück. Wenn das Programm diese Abnormalität erfasst, muss die Rollback -Transaktion in der abnormalen Behandlung angezeigt werden. Die Verbindung stellt Methoden zum Einstellen des Speicherpunkts in der Mitte der Transaktion: SETSAVEPOPPE. Punkt. SavePoint SetSavePoint (String -Name): Erstellen Sie in der aktuellen Transaktion einen Mittelpunkt mit einem angegebenen Namen und geben Sie das SavePoint -Objekt des Mittelpunkts zurück. gemäß dem Mittelpunktobjekt. Der Einstellungsname ist nur eine bessere Unterscheidung zwischen dem Mittelpunktobjekt.
Die Unterstützung von JDBC für Transaktionen spiegelt sich in drei Aspekten wider:
1. Auto-Kompom-Modus
Die Verbindung stellt eine automatische Eigenschaft zur Verfügung, um anzugeben, wann die Transaktion abgelaufen ist
2. Wenn automatisch eintrifft, wird die Transaktion sofort eingereicht, wenn die Ausführung jedes unabhängigen SQL-Vorgangs abgeschlossen ist. Dies bedeutet, dass jede SQL-Operation eine Transaktion ist
Wann wird ein unabhängiger SQL -Vorgang berechnet, wird die JDBC -Spezifikation so definiert:
Für die Datenoperationssprache (DML) und die Datennannungssprache (DDL), sobald der Satz ausgeführt wird
3. Wenn das automatische Befehl falsch ist, muss jede Transaktion die zum Senden von Aufrufmethoden angezeigt oder die Rückrufmethode wird angezeigt, um zurückzurollen. Auto-Commit-Standard
Transaktionsniveaus
JDBC definiert die Ebene von fünf Transaktionen ::
Sparpunkt
JDBC definiert die SavePoint -Schnittstelle und bietet einen feiner -verräteren Transaktionskontrollmechanismus. Wenn ein Sparenpunkt festgelegt ist, können Sie den Status am Sparpunkt rollen, nicht die gesamte Rollback -Transaktion. Sie können diese Informationen abfragen. Die Änderungserklärung wurde vor der Ausführung der Anfrage ausgeführt. Um dieses Problem zu lösen, müssen wir den JDBC -Transaktionsmechanismus vorstellen.