Comment gérer les transactions dans JDBC?
Jul 08, 2025 am 02:40 AMIl y a cinq étapes pour gérer les transactions JDBC: 1. Désactivez la soumission automatique pour démarrer les transactions manuelles; 2. Exécuter plusieurs opérations de base de données; 3. Soumettre les transactions à des temps normaux; 4 Rollback en temps anormal; 5. Utilisez des points de sauvegarde pour contr?ler l'état intermédiaire si nécessaire. Par défaut, JDBC est en mode automatique. Chaque instruction SQL est soumise après exécution. Lorsque plusieurs opérations sont impliquées dans le développement réel, Connect.setAutoCommit (FALSE) doit être appelé pour désactiver la validation automatique afin que toutes les opérations soient dans la même transaction. Les opérations suivantes peuvent être soumises via Connection.Commit () ou Connection.rollback () Rollback pour garantir la cohérence des données. Il est recommandé de placer le code clé dans le bloc de capture d'essai et enfin de restaurer l'auto-engagement. Vous pouvez également définir SavePoint pour implémenter le Rollback local.
La gestion des transactions dans JDBC n'est pas compliquée, mais plusieurs points clés doivent être compris. Par défaut, JDBC est en mode automatique, ce qui signifie que chaque instruction SQL sera automatiquement soumise après exécution. Mais dans le développement réel, en particulier lorsque plusieurs opérations sont impliquées, nous devons contr?ler manuellement les transactions pour assurer la cohérence des données.
Démarrer les transactions manuelles
Si vous souhaitez effectuer plusieurs opérations de base de données et que vous souhaitez qu'ils réussissent ou que tous échouent, vous devez désactiver les validations automatiques:
connection.setAutoCommit (false);
Cette étape est très critique. Ce n'est que lorsque l'auto-engagement sera désactivé que les opérations suivantes ne prendront pas effet immédiatement, mais que vous attendez activement commit()
ou rollback()
.
Remarque: une fois la transaction manuelle démarrée, toutes les opérations SQL appartiendront à cette portée de la transaction jusqu'à ce que vous vous engagez ou que vous reculiez.
Soumettre et recaper
Après avoir terminé une série d'opérations, si tout va bien, la transaction peut être soumise:
connection.Commit ();
Si une exception se produit pendant le processus ou si une étape échoue, la transaction doit être annulée:
connection.rollback ();
- Suggestion : Mettez les opérations clés dans le bloc de capture d'essai et le retour en arrière dans le temps lorsqu'une erreur se produit.
- Remarque : n'oubliez pas de restaurer l'auto-engagement dans le bloc final pour éviter d'inclinter les opérations ultérieures.
Par exemple:
- Reculer lorsqu'une exception se produit
- Une fois la soumission terminée, il est préférable d'appeler
setAutoCommit(true)
pour libérer des ressources.
Définition de SavePoint
Parfois, vous ne voulez pas annuler toute la transaction, mais retombez simplement à un certain état intermédiaire. Vous pouvez utiliser le point de sauvegarde:
Savepoint Savepoint = Connection.SetSavePoint ("AVANTUPDATE"); // effectuer des opérations ... connection.rollback (sauvegarde); // retourne à ce point de sauvegarde
- Le nom du point de sauvegarde est facultatif, ou un point de sauvegarde anonyme peut être utilisé
- Utilisez des points de sauvegarde pour contr?ler les flux de transaction plus granulaires
Résumons
Fondamentalement, c'est: fermer automatiquement, effectuer des opérations, engager ou faire du randonnée en fonction du résultat et ajouter un point de sauvegarde si nécessaire. Bien que le traitement des transactions puisse sembler simple, il est facile de causer des problèmes, car vous oubliez de fermer l'auto-engagement ou de Miss Rollback, alors faites attention à ces détails lors de la rédaction de code.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Après Java8-291, TLS1.1 est désactivé, de sorte que JDBC ne peut pas se connecter à SqlServer2008 à l'aide de SSL. Que dois-je faire?? Voici la solution pour modifier le fichier java.security 1. Recherchez le fichier java.security de jre. c'est jre, allez dans {JAVA_HOME}/jre/ Dans lib/security, par exemple ????C:\ProgramFiles\Java\jre1.8.0_301\lib\security S'il s'agit de la version portable sans installation verte d'Eclipse. , recherchez java.security dans le dossier d'installation, tel que ????xxx\plugins \org

Lockwaittimeoutexceeded;tryrestartingtransaction - Comment résoudre l'erreur MySQL : délai d'attente de transaction Lorsque vous utilisez la base de données MySQL, vous pouvez parfois rencontrer une erreur courante?: Lockwaittimeoutexceeded;tryrestartingtransaction. Cette erreur indique que le délai d'attente de transaction a expiré. Cette erreur se produit généralement lorsque

1. Introduction à PDO PDO est une bibliothèque d'extension de PHP, qui fournit une manière orientée objet d'exploiter la base de données. PDO prend en charge une variété de bases de données, notamment Mysql, postgresql, Oracle, SQLServer, etc. PDO permet aux développeurs d'utiliser une API unifiée pour exploiter différentes bases de données, ce qui permet aux développeurs de basculer facilement entre différentes bases de données. 2. PDO se connecte à la base de données Pour utiliser PDO pour vous connecter à la base de données, vous devez d'abord créer un objet PDO. Le constructeur de l'objet PDO re?oit trois paramètres : type de base de données, nom d'h?te, nom d'utilisateur de la base de données et mot de passe. Par exemple, le code suivant crée un objet qui se connecte à une base de données MySQL?: $dsn="mysq

Traitement des transactions MySQL : la différence entre la soumission automatique et la soumission manuelle Dans la base de données MySQL, une transaction est un ensemble d'instructions SQL soit toutes les exécutions réussissent, soit toutes les exécutions échouent, garantissant la cohérence et l'intégrité des données. Dans MySQL, les transactions peuvent être divisées en soumission automatique et soumission manuelle. La différence réside dans le moment de la soumission de la transaction et dans l'étendue du contr?le sur la transaction. Ce qui suit présentera en détail la différence entre la soumission automatique et la soumission manuelle, et donnera des exemples de code spécifiques à illustrer. 1. Soumettre automatiquement dans MySQL, s'il n'est pas affiché

Qu’est-ce qu’EJB ? EJB est une spécification Java Platform, Enterprise Edition (JavaEE) qui définit un ensemble de composants permettant de créer des applications Java de classe entreprise c?té serveur. Les composants EJB encapsulent la logique métier et fournissent un ensemble de services pour gérer les transactions, la concurrence, la sécurité et d'autres problèmes au niveau de l'entreprise. Architecture EJB L'architecture EJB comprend les principaux composants suivants : Enterprise Bean : il s'agit de l'élément de base des composants EJB, qui encapsule la logique métier et les données associées. Les EnterpriseBeans peuvent être sans état (également appelés beans session) ou avec état (également appelés beans entité). Contexte de session?: le contexte de session fournit des informations sur l'interaction client actuelle, telles que l'ID de session et le client.

Les transactions garantissent l'intégrité des données de la base de données, y compris l'atomicité, la cohérence, l'isolation et la durabilité. JDBC utilise l'interface Connection pour assurer le contr?le des transactions (setAutoCommit, commit, rollback). Les mécanismes de contr?le de concurrence coordonnent les opérations simultanées, à l'aide de verrous ou d'un contr?le de concurrence optimiste/pessimiste pour obtenir une isolation des transactions afin d'éviter les incohérences des données.

1. Conditions préalables à la programmation de bases de données Langages de programmation, tels que Java, C, C++, Python et autres bases de données, telles qu'Oracle, MySQL, SQLServer et d'autres packages de pilotes de base de données : Différentes bases de données fournissent différents packages de pilotes de base de données correspondant à différents langages de programmation. : MySQL fournit le package de pilotes Java mysql-connector-java, qui est requis pour faire fonctionner MySQL basé sur Java. De même, pour faire fonctionner la base de données Oracle basée sur Java, le package de pilotes de base de données Oracle ojdbc est requis. 2. Programmation de bases de données Java?: JDBCJDBC, JavaDatabaseConnectiv

Avec l'application répandue de Java, des erreurs JDBC se produisent souvent lorsque les programmes Java se connectent aux bases de données. JDBC (JavaDatabaseConnectivity) est une interface de programmation en Java utilisée pour se connecter à une base de données. Par conséquent, une erreur JDBC est une erreur rencontrée lorsqu'un programme Java interagit avec une base de données. Voici quelques-unes des erreurs JDBC les plus courantes et comment les résoudre et les éviter. ClassNotFoundException C'est le JDBC le plus courant
