MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

JDBCでのメソッドsetAutoCommit()の使用は何ですか?


データベースをコミットすると、その特定の時点までに行われたすべての変更が保存されます。

commit()を使用してデータベースをコミットできます 方法。問題が発生した場合は、 rollback()を使用してデータベースをこの時点に戻すことができます。 方法。デフォルトでは、一部のデータベースはデータベースを自動的にコミットします。ただし、トランザクションを管理するときは、データベースを手動でコミットする必要があります。

このシナリオでは、setAutoCommit()メソッドを使用できます。このメソッドはConnectionインターフェースに属し、ブール値を受け入れます。

このメソッドにtrueを渡すと、データベースの自動コミット機能がオンになり、このメソッドにfalseを渡すと、データベースの自動コミット機能がオフになります。

この方法を使用して、データベースの自動コミット機能をオフにすることができます。

Con.setAutoCommit(false);

次のプログラムは、バッチ処理を使用してこのテーブルにデータを挿入します。ここでは、自動コミットをfalseに設定し、必要なステートメントをバッチに追加し、バッチを実行してから、データベースを独自にコミットします。

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......

  1. JavaでのsetBounds()メソッドの使用は何ですか?

    レイアウト マネージャー 追加されたコンポーネントの位置とサイズを自動的に決定するために使用されます。レイアウトマネージャーがない場合は、コンポーネントの位置とサイズを手動で設定する必要があります。 setBounds() このような状況では、メソッドを使用して位置とサイズを設定します。コンポーネントの位置とサイズを手動で指定するには、フレームのレイアウトマネージャーを nullにすることができます。 。 setBounds() setBounds() メソッドには4つの引数が必要です。最初の2つの引数は、x座標とy座標です。 左上の コーナー コンポーネントの3番目の引数は幅です コ

  2. Python MySQLのrollback()メソッドとは何ですか?

    rollback()メソッドは、データベーストランザクションを作成するために使用されるPythonのさまざまなメソッドの1つです。 ここでは、rollback()メソッドについて説明します。 rollback()メソッドは、データベースに対して行われた最後の変更またはコミットを元に戻すために使用されます。ユーザーがデータベースに加えられた変更に満足できないような条件が発生した場合、またはトランザクションが失敗した場合、rollback()メソッドが操作され、データベースを変更をコミットする前の元の状態に戻します。これは、トランザクションが失敗した場合にデータベースの整合性を維持するのに役立