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

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

PHPz
PHPzoriginal
2023-04-21 11:24:141987parcourir

Dans la base de données MySQL, les procédures stockées ont une grande flexibilité et réutilisabilité et sont souvent utilisées pour optimiser les opérations de base de données complexes et améliorer les performances de la base de données. Les programmes Java doivent souvent appeler des procédures stockées dans MySQL. Cet article présentera l'implémentation spécifique de la façon dont Java appelle les procédures stockées dans MySQL.

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

Tout d'abord, vous devez créer une procédure stockée dans la base de données MySQL. Les procédures stockées peuvent être créées via la ligne de commande ou des outils graphiques MySQL (tels que Navicat).

Ce qui suit est un exemple simple de procédure stockée, qui peut trouver tous les noms de table dans la bibliothèque spécifiée :

CREATE PROCEDURE `GetAllTableNames`(IN dbName VARCHAR(100))
BEGIN
    SELECT table_name
    FROM information_schema.tables
    WHERE table_schema = dbName;
END

2. Java appelle des procédures stockées

Le processus d'utilisation de Java pour appeler des procédures stockées MySQL appelle en fait JDBC (base de données Java connexion) Méthodes liées aux procédures stockées de l'API. Les étapes spécifiques permettant à Java d'appeler les procédures stockées MySQL seront présentées en détail ci-dessous.

  1. Importez le package de pilotes MySQL JDBC

Les programmes Java doivent utiliser le package de pilotes MySQL JDBC. Vous pouvez télécharger la version correspondante du package de pilotes MySQL Connector/J depuis le site officiel de MySQL, puis l'ajouter au CLASSPATH. du projet Java.

  1. Obtenir la connexion à la base de données

Les étapes pour utiliser JDBC pour se connecter à la base de données MySQL en Java sont les mêmes que les connexions à la base de données ordinaires. Vous devez d'abord charger le pilote, puis obtenir la connexion à la base de données.

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
  1. Créer un objet CallableStatement

L'étape principale de l'appel d'une procédure stockée en Java consiste à créer un objet CallableStatement et à appeler la méthode d'exécution de la procédure stockée. CallableStatement est une sous-classe de PreparedStatement et est utilisée pour exécuter des instructions avec des paramètres d'entrée ou des paramètres de sortie ou les deux. Les procédures stockées ont généralement des paramètres d'entrée ou des paramètres de sortie ou les deux.

Avant de créer l'objet CallableStatement, vous devez préparer la liste des paramètres de la procédure stockée. Par exemple, pour l'exemple de procédure stockée ci-dessus, vous devez transmettre le paramètre dbName et vous pouvez obtenir l'objet CallableStatement via ce code :

CallableStatement callableStatement = conn.prepareCall("{call GetAllTableNames(?)}");
callableStatement.setString(1, "test");

Il convient de noter que la méthode setXX() de CallableStatement est similaire à l'utilisation de PreparedStatement et est utilisé pour définir les paramètres d’entrée de la procédure stockée.

  1. Appelez la méthode d'exécution pour exécuter la procédure stockée

Après avoir terminé le transfert des paramètres et la préparation de l'objet CallableStatement, vous pouvez appeler la méthode d'exécution pour exécuter l'instruction SQL. Pour les procédures stockées, vous pouvez appeler l'une des trois méthodes suivantes : exécuter(), exécuterQuery() ou exécuterUpdate(), en fonction de l'implémentation spécifique de la procédure stockée.

Après l'exécution de la procédure stockée, l'ensemble de résultats doit être enregistré dans l'objet ResultSet pour un traitement ultérieur.

ResultSet rs = callableStatement.executeQuery();
while (rs.next()) {
    System.out.println(rs.getString(1));
}

L'exemple de code complet pour appeler des procédures stockées MySQL à partir de Java est le suivant :

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");

CallableStatement callableStatement = conn.prepareCall("{call GetAllTableNames(?)}");
callableStatement.setString(1, "test");

ResultSet rs = callableStatement.executeQuery();
while (rs.next()) {
    System.out.println(rs.getString(1));
}

rs.close();
callableStatement.close();
conn.close();

3 Résumé

Cet article présente les étapes spécifiques pour appeler des procédures stockées MySQL à partir de Java, y compris la création de procédures stockées et l'importation du pilote MySQL JDBC. package, obtenant des connexions à la base de données, créez un objet CallableStatement et appelez la méthode d'exécution pour exécuter la procédure stockée.

Java appelant les procédures stockées MySQL peut aider les développeurs Java à améliorer l'efficacité et les performances des opérations de base de données. Selon les besoins spécifiques, la mise en œuvre des procédures stockées peut être ajustée de manière flexible pour obtenir de meilleurs résultats.

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