Maison  >  Article  >  base de données  >  À quoi sert la méthode setAutoCommit() dans JDBC ?

À quoi sert la méthode setAutoCommit() dans JDBC ?

WBOY
WBOYavant
2023-08-28 15:21:021291parcourir

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

Si vous vous engagez dans la base de données, toutes les modifications apportées jusqu'à ce point spécifique seront enregistrées.

Vous pouvez utiliser la méthode commit() pour vous engager dans la base de données. Chaque fois qu'un problème survient, vous pouvez utiliser la méthode rollback() pour restaurer la base de données à ce point. Certaines bases de données valident automatiquement la base de données par défaut. Cependant, lors de la gestion des transactions, vous devez valider manuellement la base de données.

Dans ce cas, vous pouvez utiliser la méthode setAutoCommit(). Cette méthode appartient à l'interface Connection et accepte une valeur booléenne.

Si vous transmettez true à cette méthode, cela activera la fonction de validation automatique de la base de données, si vous transmettez false à cette méthode, cela activera la fonction de validation automatique de la base de données. Désactivez la fonction de soumission automatique de la base de données.

Vous pouvez désactiver la fonction de validation automatique de votre base de données en utilisant cette méthode :

Con.setAutoCommit(false);

Exemple

Le programme suivant utilise le traitement par lots pour insérer des données dans cette table. Ici, nous définissons autocommit sur false, ajoutons les instructions requises au lot, exécutons le lot et validons nous-mêmes dans la base de données.

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

sortie

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer