Maison  >  Article  >  base de données  >  Comment appeler une procédure stockée MySQL en utilisant Java

Comment appeler une procédure stockée MySQL en utilisant Java

PHPz
PHPzoriginal
2023-04-17 16:37:491008parcourir

La procédure stockée MySQL est une fonction définie par l'utilisateur qui encapsule plusieurs instructions SQL dans une seule unité d'exécution répétable. L’appel de procédures stockées peut améliorer l’efficacité et la sécurité du fonctionnement de la base de données. En tant que langage de développement courant pour le développement d'applications, Java peut bien interagir avec MySQL. Dans cet article, nous apprendrons comment appeler des procédures stockées MySQL à l'aide de Java.

  1. Préparation

Avant de commencer, nous devons nous assurer que les deux aspects suivants de la préparation ont été complétés.

1.1 Base de données MySQL

Tout d'abord, vous devez installer et configurer la base de données MySQL. Vous pouvez télécharger le package d'installation depuis le site Web officiel de MySQL, puis l'installer et le configurer conformément à la documentation officielle.

1.2 Environnement de développement Java

Deuxièmement, vous devez disposer d'un environnement de développement Java, comprenant du JDK et des outils de développement. Il existe de nombreux outils de développement Java, notamment Eclipse, IntelliJ IDEA, NetBeans, etc. Cet article utilisera Eclipse comme exemple de démonstration.

  1. Créer une procédure stockée MySQL

Cet article prend comme exemple une simple procédure stockée MySQL, qui reçoit deux paramètres, les ajoute et renvoie le résultat.

Connectez-vous d'abord à la base de données MySQL et utilisez l'instruction suivante pour créer une procédure stockée nommée add_demo.

CREATE PROCEDURE add_demo (IN a INT, IN b INT, OUT c INT)
BEGIN
SET c = a + b;
END

Après avoir exécuté l'instruction ci-dessus, une procédure stockée nommée add_demo est créée dans la base de données MySQL.

  1. Java appelle des procédures stockées MySQL

Pour appeler des procédures stockées MySQL en Java, vous devez généralement utiliser l'objet CallableStatement de JDBC.

3.1 Charger le pilote JDBC

En Java, vous devez charger le pilote MySQL via la méthode Class.forName(), le code est le suivant :

Class.forName("com.mysql.jdbc.Driver");

3.2 Connectez-vous à la base de données MySQL

Utilisez getConnection() méthode de DriverManager pour créer un objet de connexion à la base de données, le code Comme suit :

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

Où, l'url est la chaîne de connexion de la base de données, le nom d'utilisateur et le mot de passe sont le nom d'utilisateur et le mot de passe pour se connecter à la base de données.

3.3 Créer un objet CallableStatement

Après vous être connecté à la base de données, vous devez créer un objet CallableStatement pour exécuter la procédure stockée. Le code est le suivant :

CallableStatement cstmt = conn.prepareCall("{call add_demo(?,?,?)}");

Parmi eux, {call add_demo(?,?,?)} est la syntaxe pour appeler une procédure stockée. Puisque la procédure stockée comporte trois paramètres, trois points d’interrogation sont utilisés pour représenter ces trois paramètres.

3.4 Définir les paramètres

Après avoir créé l'objet CallableStatement, vous devez définir les valeurs des paramètres de la procédure stockée. Le code est le suivant :

cstmt.setInt(1, 1);
cstmt.setInt(2, 2);
cstmt.registerOutParameter(3, Types.INTEGER);

Parmi eux, la méthode setInt() est utilisée pour définir les deux premiers paramètres de la procédure stockée, et la méthode registerOutParameter() est utilisée pour enregistrer le troisième paramètre de la procédure stockée. est un paramètre de sortie et représente le résultat de l'exécution de la procédure stockée. Le type de valeur de retour.

3.5 Exécuter la procédure stockée

Après avoir défini les paramètres, vous pouvez exécuter la procédure stockée. Le code est le suivant :

cstmt.execute();

3.6 Obtenez le résultat de l'exécution de la procédure stockée

Après avoir exécuté la procédure stockée, vous devez obtenir le résultat de l'exécution de la procédure stockée. Le code est le suivant : La méthode

int result = cstmt.getInt(3);

getInt() est utilisée pour obtenir la valeur du paramètre de sortie de la procédure stockée.

  1. Exemple de code complet

Vous trouverez ci-dessous un exemple Java complet montrant comment appeler une procédure stockée MySQL.

import java.sql.*;

public class Demo {
  public static void main(String[] args) {
      String url = "jdbc:mysql://localhost:3306/test";
      String username = "root";
      String password = "123456";

      try {
          Class.forName("com.mysql.jdbc.Driver");
          Connection conn = DriverManager.getConnection(url, username, password);
          CallableStatement cstmt = conn.prepareCall("{call add_demo(?,?,?)}");
          cstmt.setInt(1, 1);
          cstmt.setInt(2, 2);
          cstmt.registerOutParameter(3, Types.INTEGER);
          cstmt.execute();
          int result = cstmt.getInt(3);
          System.out.println("Result: " + result);
      } catch (ClassNotFoundException | SQLException e) {
          e.printStackTrace();
      }
  }
}

Références

  1. [MySQL](https://www.mysql.com/).
  2. [JDBC](https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html).

Conclusion

Java appelant des procédures stockées MySQL est une méthode courante d'exploitation de base de données. Cela peut améliorer l’efficacité et la sécurité des opérations de base de données. Dans cet article, nous avons appris comment créer des procédures stockées MySQL et appeler des procédures stockées MySQL à l'aide de Java. Ceci est crucial pour développer des applications Java efficaces et fiables.

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:
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