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

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

WBOY
Libérer: 2023-08-28 15:21:02
avant
1350 Les gens l'ont consulté

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);
Copier après la connexion

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......");
   }
}
Copier après la connexion

sortie

Connection established......
Records inserted......
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal