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);
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......"); } }
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!