Rumah  >  Artikel  >  pangkalan data  >  Apakah kegunaan kaedah setAutoCommit() dalam JDBC?

Apakah kegunaan kaedah setAutoCommit() dalam JDBC?

WBOY
WBOYke hadapan
2023-08-28 15:21:021293semak imbas

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

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);

Contoh

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

output

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam