Maison > base de données > tutoriel mysql > le corps du texte

Comment appeler une procédure stockée MySQL dans un programme Java

PHPz
Libérer: 2023-04-19 15:12:55
original
934 Les gens l'ont consulté

Java est un langage de programmation largement utilisé lors du développement d'applications Web, il est souvent nécessaire d'appeler des procédures stockées MySQL pour traiter les données. Cet article présentera en détail comment appeler des procédures stockées MySQL dans les programmes Java.

1. Procédures stockées MySQL

Les procédures stockées MySQL sont un ensemble de codes SQL qui peuvent encapsuler des requêtes SQL et des opérations de données complexes et les appeler en cas de besoin. Les procédures stockées s'exécutent généralement plus rapidement que les instructions SQL ordinaires.

Les procédures stockées MySQL peuvent être créées via le client MySQL ou des outils de gestion, tels que MySQL Workbench. La méthode de création d'une procédure stockée est similaire à l'écriture d'une instruction SQL, mais vous devez utiliser la commande DELIMITER pour spécifier le terminateur. Par exemple, le code suivant crée une procédure stockée simple :

DELIMITER //
CREATE PROCEDURE GetProductList()
BEGIN
SELECT * FROM products;
END //
DELIMITER ;
Copier après la connexion

Dans le code ci-dessus, DELIMITER spécifie le caractère de fin comme "//", le nom de la procédure stockée est GetProductList et l'instruction SELECT obtient toutes les données de la table "products ".

2. Appel de procédures stockées MySQL en Java

L'appel de procédures stockées MySQL est similaire à l'appel d'instructions SQL ordinaires et nécessite l'utilisation de l'API Java JDBC. Voici quelques étapes de base pour appeler des procédures stockées MySQL à l'aide de l'API JDBC.

  1. Chargement du pilote JDBC

Lors de l'utilisation de l'API JDBC dans un programme Java, le pilote MySQL JDBC doit être chargé en premier. Vous pouvez utiliser la méthode Class.forName() pour charger le pilote ou enregistrer le pilote via le package jar du pilote JDBC. Par exemple :

Class.forName("com.mysql.cj.jdbc.Driver");
Copier après la connexion
  1. Établir une connexion à une base de données

Établir une connexion à une base de données nécessite de spécifier des informations telles que l'adresse du serveur, le nom de la base de données, le nom d'utilisateur et le mot de passe. Une connexion à la base de données peut être établie via la méthode getConnection() de la classe DriverManager, par exemple :

String url = "jdbc:mysql://localhost:3306/mydb";
String user = "myuser";
String password = "mypassword";

Connection conn = DriverManager.getConnection(url, user, password);
Copier après la connexion
  1. Créer un objet CallableStatement

L'appel d'une procédure stockée MySQL nécessite l'utilisation d'un objet CallableStatement, qui peut être créé via le Méthode Connection.prepareCall(). Par exemple :

String call = "{call GetProductList()}";
CallableStatement stmt = conn.prepareCall(call);
Copier après la connexion

Notez que le nom de la procédure stockée doit être placé entre accolades "{}" et préfixé par "{call}".

  1. Définir les paramètres et exécuter les procédures stockées

Avant d'appeler la procédure stockée MySQL, vous devez définir les paramètres d'entrée et de sortie (le cas échéant). Les paramètres d'entrée sont définis à l'aide de la méthode setXXX() et les paramètres de sortie sont enregistrés à l'aide de la méthode registerOutParameter() après l'appel de la procédure. Pour exécuter une procédure stockée, utilisez la méthode CallableStatement.execute() ou CallableStatement.executeQuery(). Par exemple :

ResultSet rs = stmt.executeQuery();
while (rs.next()) {
    // 处理查询结果
}
Copier après la connexion
  1. Fermez la connexion et libérez les ressources

Après avoir utilisé la connexion à la base de données et l'objet CallableStatement, vous devez fermer la connexion et libérer les ressources à temps pour éviter le gaspillage de ressources et les fuites de mémoire.

L'exemple de code complet d'appel de procédures stockées MySQL à partir de Java est le suivant :

import java.sql.*;

public class CallStoredProcedure {
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");

            String url = "jdbc:mysql://localhost:3306/mydb";
            String user = "myuser";
            String password = "mypassword";

            Connection conn = DriverManager.getConnection(url, user, password);

            String call = "{call GetProductList()}";
            CallableStatement stmt = conn.prepareCall(call);

            ResultSet rs = stmt.executeQuery();
            while (rs.next()) {
                // 处理查询结果
            }

            rs.close();
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Copier après la connexion

3. Résumé

Grâce à l'introduction de cet article, les lecteurs peuvent apprendre les étapes de base et les précautions à prendre pour appeler des procédures stockées MySQL dans les programmes Java. L'utilisation de procédures stockées peut améliorer l'efficacité de l'exécution SQL et les performances de traitement des données, et présente une grande valeur pratique pour le développement d'applications Web complexes.

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:php.cn
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