Interroger le salaire des enseignants à l'aide d'un PreparedStatement

MySQLMySQLBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce projet, vous allez apprendre à utiliser JDBC (Java Database Connectivity) pour interroger une base de données MySQL à l'aide d'un PreparedStatement. Le but est de récupérer les noms et les salaires des enseignants dont le salaire est supérieur à 6000 dans la table instructor de la base de données edusys.

👀 Aperçu

Image d aperçu du projet JDBC

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment établir une connexion à une base de données à l'aide de JDBC
  • Comment créer un PreparedStatement avec un emplacement réservé pour un paramètre
  • Comment exécuter la requête et traiter le résultat
  • Comment gérer les exceptions et fermer correctement les ressources

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Comprendre les bases de JDBC et de savoir comment l'utiliser pour interagir avec une base de données MySQL
  • Écrire du code Java qui utilise un PreparedStatement pour exécuter une requête SQL avec un paramètre
  • Récupérer et traiter des données à partir d'une base de données à l'aide de JDBC
  • Mettre en œuvre la gestion d'erreurs et la gestion des ressources dans une application JDBC

Démarrer le service MySQL et importer la base de données

Dans cette étape, vous allez apprendre à démarrer le service MySQL et à importer la base de données edusys.sql. Suivez les étapes ci-dessous pour compléter cette étape :

  1. Démarrez le service MySQL. Vous pouvez le faire en exécutant la commande suivante dans votre terminal :

    sudo service mysql start
  2. Importez la base de données edusys.sql dans MySQL. Vous pouvez le faire en exécutant la commande suivante dans votre terminal :

    mysql -u root < /home/labex/project/edusys.sql

Cette commande importera la base de données edusys.sql dans MySQL en utilisant l'utilisateur root.

Créer un répertoire pour un projet Java

Dans cette étape, vous allez apprendre à créer un répertoire pour un projet Java. Suivez les étapes ci-dessous pour compléter cette étape :

  1. Créez un nouveau répertoire pour votre projet Java :

    mkdir /home/labex/project/salary
    cd /home/labex/project/salary
  2. Créez les sous-répertoires nécessaires pour votre projet :

    mkdir src lib bin
    • Le répertoire src contiendra vos fichiers de code source Java.
    • Le répertoire lib contiendra toutes les bibliothèques externes utilisées par votre projet.
    • Le répertoire bin contiendra les fichiers de classes Java compilés.

Déplacer le pilote JDBC et le fichier Java

Dans cette étape, vous allez apprendre à déplacer le pilote JDBC et le fichier JDBCQueryByPreparedStatement.java dans les répertoires appropriés. Suivez les étapes ci-dessous pour compléter cette étape :

  1. Déplacez le pilote JDBC dans le répertoire lib :

    mv /home/labex/project/mysql-connector-java-8.0.21.jar /home/labex/project/salary/lib
  2. Déplacez le fichier JDBCQueryByPreparedStatement.java dans le répertoire src :

    mv /home/labex/project/JDBCQueryByPreparedStatement.java /home/labex/project/salary/src

Implémenter le système de requête

Dans cette étape, vous allez implémenter le code pour le système de requête d'informations universitaires dans le fichier JDBCQueryByPreparedStatement.java. Suivez les étapes ci-dessous pour compléter cette étape :

  1. Ouvrez le fichier JDBCQueryByPreparedStatement.java dans un éditeur de texte.

  2. Ajoutez le code suivant à la méthode main() :

         try {
             String url = "jdbc:mysql://localhost:3306/edusys";
             String username = "root";
             String password = "";
             // Établir une connexion à la base de données
             Connection connection = DriverManager.getConnection(url, username, password);
    
             // Préparer l'instruction SQL avec un emplacement réservé pour un paramètre
             String sql = "SELECT name, salary FROM instructor WHERE salary >?";
             PreparedStatement preparedStatement = connection.prepareStatement(sql);
    
             // Définir la valeur du paramètre
             preparedStatement.setDouble(1, 6000);
    
             // Exécuter la requête
             ResultSet resultSet = preparedStatement.executeQuery();
    
             // Parcourir le résultat
             while (resultSet.next()) {
                 String name = resultSet.getString("name");
                 double salary = resultSet.getDouble("salary");
                 System.out.println(name + " " + salary);
             }
    
             // Fermer les ressources
             resultSet.close();
             preparedStatement.close();
             connection.close();
         } catch (SQLException e) {
             e.printStackTrace();
         }

    Ce code se connecte à la base de données MySQL, invite l'utilisateur à sélectionner une table à interroger, exécute la requête SQL appropriée et imprime les résultats dans la console.

  3. Enregistrez le fichier JDBCQueryByPreparedStatement.java.

Exécuter l'application

Dans cette dernière étape, vous allez exécuter l'application.

  1. Compiler le fichier Java :
javac -d bin/ src/JDBCQueryByPreparedStatement.java
  1. Exécuter l'application :
java -cp bin/:lib/mysql-connector-java-8.0.21.jar JDBCQueryByPreparedStatement

Vous devriez voir la sortie suivante :

Srinivasan 65000.0
Wu 90000.0
Mozart 40000.0
Einstein 95000.0
El Said 60000.0
Gold 87000.0
Katz 75000.0
Califieri 62000.0
Singh 80000.0
Crick 72000.0
Brandt 92000.0
Kim 80000.0

Félicitations! Vous avez réussi à compléter le projet.

✨ Vérifier la solution et pratiquer

Sommaire

Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.