Rumah >pangkalan data >tutorial mysql >Apakah kegunaan kaedah setAutoCommit() dalam JDBC?
Jika anda komited dengan pangkalan data, ia akan menyimpan semua perubahan yang dibuat pada titik tertentu itu.
Anda boleh komited kepada pangkalan data menggunakan kaedah commit(). Setiap kali sebarang masalah berlaku, anda boleh menggunakan kaedah rollback() untuk memulihkan pangkalan data ke tahap ini. Sesetengah pangkalan data secara automatik mengkomit pangkalan data secara lalai. Walau bagaimanapun, apabila menguruskan urus niaga, anda perlu memasukkan pangkalan data secara manual.
Dalam kes ini, anda boleh menggunakan kaedah setAutoCommit(). Kaedah ini tergolong dalam antara muka Sambungan dan menerima nilai Boolean.
Jika anda lulus benar kepada kaedah ini, ia akan menghidupkan ciri autokomit pangkalan data, jika anda lulus palsu kepada kaedah ini ia akan menghidupkan ciri autokomit pangkalan data. Matikan fungsi penyerahan automatik pangkalan data.
Anda boleh mematikan ciri autokomit pangkalan data anda menggunakan kaedah ini:
Con.setAutoCommit(false);
Atur cara berikut menggunakan pemprosesan kelompok untuk memasukkan data ke dalam jadual ini. Di sini kami menetapkan autokomit kepada palsu, menambah penyataan yang diperlukan pada kumpulan, melaksanakan kumpulan dan komited kepada pangkalan data sendiri.
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......
Atas ialah kandungan terperinci Apakah kegunaan kaedah setAutoCommit() dalam JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!