En savoir plus sur les points de sauvegarde des transactions (avec Java)

Ce que vous pouvez voir dans cet article

--Il existe un mécanisme appelé point de sauvegarde de transaction.

À propos du mécanisme de la transaction savepoint

En premier lieu, une transaction est un "flux d'une série de processus pour effectuer un certain processus". Si l'un des processus est terminé dans une série de processus, il arrive souvent que les processus mis à jour jusqu'à ce point soient rembobinés et retournés à l'état avant l'exécution des processus. Cependant, selon la situation, vous voudrez peut-être revenir à un certain point où vous ne souhaitez pas tout retourner. Dans ce cas, vous pouvez définir un point d'enregistrement et revenir (revenir en arrière) à ce point.

Exemple de code à utiliser avec Java

Décrivez l'exemple de code en supposant le processus d'enregistrement du nom d'argument dans la table de liste.

point

--Get Savepoint entre l'obtention de la connexion et l'obtention de PreparedStatement.

Supplément

Java


public void regist(String name) throws SQLException{
    Connection con = null;
    Savepoint save = null;
    String sql = null;
    PreparedStatement ps = null;
    
    try{
        con = this.getConnection();
        if(con.getMetaData().supportsSavepoints()){
            save = con.setSavepoint();
        }
        sql = "insert into list (name) values (?)";
        ps = con.prepareStatement(sql);
        ps.setString(1, name);
        ps.executeUpdate();
        ps.close()
    }catch(SQLException e){
        if(save != null){
            con.rollback(save);
        }
        else{
            con.rollback();
        }
    }finally{
        if(con!=null){
            try{
                con.close();
            }catch(SQLException e){
            }
        }
    }
}

Recommended Posts

En savoir plus sur les points de sauvegarde des transactions (avec Java)
Java pour apprendre avec les ramen [Partie 1]
À propos de l'authentification par signature avec Java Time 1
Apprenez de «Et alors», les bases de Java [pour les débutants]
À propos de l'interface Java
[Java] À propos des fonctionnalités de Java 12
[Java] À propos des tableaux
Quelque chose à propos de java
Où est Java
À propos des fonctionnalités Java
À propos des threads Java
Interface [Java]
À propos de la classe Java
À propos des tableaux Java
À propos de l'héritage Java
À propos de l'interface, interface java
À propos de Java Var
À propos de Java Literal
À propos des commandes Java
À propos de la sortie du journal Java
À propos de l'interface fonctionnelle Java
Installez java avec Homebrew
Java, à propos d'un tableau à deux dimensions
À propos de la division de classe (Java)
À propos de la classe Java StringBuilder
Changer de siège avec Java
Installez Java avec Ansible
[Java] À propos de la classe Singleton
À propos de la liaison de méthode Java
Téléchargement confortable avec JAVA
[Java] À propos des classes anonymes
A propos des méthodes de fractionnement (Java)
[Java Silver] À propos de l'initialisation
Changer java avec direnv
A propos de la liste des baies Java
À propos du polymorphisme Java Super ()
À propos de l'héritage (Java Silver)
À propos de la classe Java String
À propos des modificateurs d'accès Java
Téléchargement Java avec Ansible
À propos des expressions Java lambda
À propos des points d'entrée Java
Prise en charge de Java 10 Docker
Résumé personnel sur Java
Raclons avec Java! !!
Une histoire sur le développement de ROS appelé rosjava avec java
Tout sur la programmation Java
Construire Java avec Wercker
À propos de la classe abstraite de Java
Conversion Endian avec JAVA
Découvrez les spécifications tout en raccourcissant FizzBuzz écrit en Java
À propos du comportement lors de la création d'un mappage de fichiers avec Java
Créer un multi-projet Java avec Gradle
Remarques sur Java GC
Premiers pas avec Java Collection
À propos des instances Java
Authentification de base avec Java 11 HttpClient
Expérimentons l'expansion en ligne Java
Exécuter un lot avec docker-compose avec Java batch