Heim  >  Artikel  >  Datenbank  >  Wozu dient die setAutoCommit()-Methode in JDBC?

Wozu dient die setAutoCommit()-Methode in JDBC?

WBOY
WBOYnach vorne
2023-08-28 15:21:021293Durchsuche

JDBC 中 setAutoCommit() 方法有什么用?

Wenn Sie sich auf die Datenbank festlegen, werden alle bis zu diesem bestimmten Zeitpunkt vorgenommenen Änderungen gespeichert.

Sie können die Methode commit() verwenden, um einen Commit in die Datenbank durchzuführen. Wenn ein Problem auftritt, können Sie die Methode rollback() verwenden, um die Datenbank an diesem Punkt wiederherzustellen. Einige Datenbanken übernehmen die Datenbank standardmäßig automatisch. Bei der Verwaltung von Transaktionen müssen Sie die Datenbank jedoch manuell festschreiben.

In diesem Fall können Sie die Methode setAutoCommit() verwenden. Diese Methode gehört zur Connection-Schnittstelle und akzeptiert einen booleschen Wert.

Wenn Sie dieser Methode „true“ übergeben, wird die Auto-Commit-Funktion der Datenbank aktiviert. Wenn Sie dieser Methode „false“ übergeben, wird die Auto-Commit-Funktion der Datenbank aktiviert. Deaktivieren Sie die automatische Übermittlungsfunktion der Datenbank.

Mit dieser Methode können Sie die Auto-Commit-Funktion Ihrer Datenbank deaktivieren:

Con.setAutoCommit(false);

Beispiel

Das folgende Programm verwendet Stapelverarbeitung, um Daten in diese Tabelle einzufügen. Hier setzen wir Autocommit auf „false“, fügen dem Batch die erforderlichen Anweisungen hinzu, führen den Batch aus und übernehmen selbst einen Commit in die Datenbank.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class BatchProcessing_Statement {
   public static void main(String args[])throws Exception {
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //CREATE TABLE Dispatches( Product_Name VARCHAR(255), Name_Of_Customer
      VARCHAR(255), Month_Of_Dispatch VARCHAR(255), Price INT, Location VARCHAR(255));
      //Creating a Statement object
      Statement stmt = con.createStatement();
      //Setting auto-commit false
      con.setAutoCommit(false);
      //Statements to insert records
      String insert1 = "INSERT INTO Dispatches( Product_Name , Name_Of_Customer , "
         + "Month_Of_Dispatch , Price, Location) VALUES "
         + "('KeyBoard', 'Amith', 'January', 1000, 'hyderabad')";

      String insert2 = "INSERT INTO Dispatches( Product_Name , Name_Of_Customer , "
         + "Month_Of_Dispatch , Price, Location) VALUES "
         + "('Earphones', 'SUMITH', 'March', 500, 'Vishakhapatnam')";

      String insert3 = "INSERT INTO Dispatches( Product_Name , Name_Of_Customer , "
         + "Month_Of_Dispatch , Price, Location) VALUES "
         + "('Mouse', 'Sudha', 'September', 200, 'Vijayawada')";
      //Adding the statements to the batch
      stmt.addBatch(insert1);
      stmt.addBatch(insert2);
      stmt.addBatch(insert3);
      //Executing the batch
      stmt.executeBatch();
      //Saving the changes
      con.commit();
      System.out.println("Records inserted......");
   }
}

Ausgabe

Connection established......
Records inserted......

Das obige ist der detaillierte Inhalt vonWozu dient die setAutoCommit()-Methode in JDBC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen