English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

子句 WHERE JDBC

Cette section fournit des exemples sur la manière d'utiliser une application JDBC pour sélectionner des enregistrements dans une table. Lors de la sélection des enregistrements dans une table, cela ajoutera d'autres conditions en utilisant la clause WHERE. Assurez-vous d'avoir les conditions suivantes avant d'exécuter l'exemple suivant :

  • Pour exécuter l'exemple suivant, vous pouvez utiliserNom d'utilisateuretMot de passeRemplacez par les noms d'utilisateur et les mots de passe réels.

  • Votre MySQL ou toute autre base de données que vous utilisez est déjà démarrée et en cours d'exécution.

Étapes nécessaires

Pour créer une nouvelle base de données avec une application JDBC, il est nécessaire d'exécuter les étapes suivantes-

  • Importation des bibliothèques:Il vous est demandé d'inclure le paquet contenant les classes JDBC nécessaires à la programmation de base de données. Habituellement, utilisez import java.sql.* C'est suffisant.

  • Enregistrement du pilote JDBC: Il vous est demandé d'initialiser le pilote pour pouvoir ouvrir le canal de communication avec la base de données.

  • Établir la connexion:Il est nécessaire d'utiliser DriverManager.getConnection() La méthode pour créer un objet Connection, qui représente la connexion physique au serveur de base de données.

  • Exécuter la requête:Il est nécessaire d'utiliser un objet de type Statement pour construire et soumettre des requêtes SQL pour obtenir les enregistrements satisfaisant les conditions données dans la table. Cette requête utiliseWHEREclause de sélection des enregistrements.

  • Nettoyer l'environnement: Il est nécessaire de fermer explicitement toutes les ressources de base de données, plutôt que de dépendre du recyclage des déchets de JVM.

Code d'exemple

Copiez et collez l'exemple suivant dans le fichier JDBCExample.java, compilez et exécutez comme suit-

//étape1.importation des bibliothèques nécessaires
import java.sql.*;
public class JDBCExample {
   // Nom du pilote JDBC et URL de la base de données
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/STUDENTS";
   //  Informations d'identification de la base de données
   static final String USER = "username";
   static final String PASS = "password";
   
   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //étape2:enregistrement du pilote JDBC
      Class.forName("com.mysql.jdbc.Driver");
      //étape3:établir la connexion
      System.out.println("Connexion à une base de données sélectionnée...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);
      System.out.println("Base de données connectée avec succès...");
      
      //étape4:exécuter la requête
      System.out.println("Création de l'état...");
      stmt = conn.createStatement();
      // extraire les enregistrements sans condition.
      System.out.println("Récupération des enregistrements sans condition...");
      String sql = "SELECT id, first, last, age FROM Registration";
      ResultSet rs = stmt.executeQuery(sql);
      while(rs.next()){
         //recherche par nom de colonne
         int id = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");
         //afficher la valeur
         System.out.print("ID: " + id);
         System.out.print(", Âge: " + age);
         System.out.print(", Premier: " + first);
         System.out.println(", Dernier: " + last);
      }
      // sélectionner tous les ID égaux ou supérieurs à101enregistrements
      System.out.println("Récupération des enregistrements avec condition...");
      sql = "SELECT id, first, last, age FROM Registration"; +
                   " WHERE id >= 101 ";
      rs = stmt.executeQuery(sql);
      while(rs.next()){
         //recherche par nom de colonne
         int id = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");
         //afficher la valeur
         System.out.print("ID: " + id);
         System.out.print(", Âge: " + age);
         System.out.print(", Premier: " + first);
         System.out.println(", Dernier: " + last);
      }
      rs.close();
   }catch(SQLException se){
      //traiter les erreurs JDBC
      se.printStackTrace();
   catch(Exception e){
      //Gérer l'erreur de Class.forName
      e.printStackTrace();
   }finally{
      //Pour fermer les ressources
      try{
         if(stmt!=null)
            conn.close();
      }catch(SQLException se){
      }// Ne fait rien
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }
   }
   System.out.println("Au revoir !");
}
}//Fin JDBCExample

Maintenant, compilons l'exemple ci-dessus, comme suit :

C:\>javac JDBCExample.java
C:\>

à l'exécutionJDBCExampleIl produira les résultats suivants:-

C:\>java JDBCExample
Connexion à une base de données sélectionnée...
Base de données connectée avec succès...
Création de l'état...
Récupération des enregistrements sans condition...
ID: 10, Âge: 3, Premier: Zara, Dernier: Ali
ID: 102, Âge: 3, Premier: Zaid, Dernier: Khan
ID: 103, Âge: 28, Premier: Sumit, Dernier: Mittal
Récupération des enregistrements avec condition...
ID: 102, Âge: 3, Premier: Zaid, Dernier: Khan
ID: 103, Âge: 28, Premier: Sumit, Dernier: Mittal
Au revoir !
C:\>