JDBC - Exemple, exemple de code

Ce chapitre fournit un exemple de création d'une application JDBC simple. Cela vous montrera comment ouvrir une connexion à une base de données, exécuter une requête SQL et afficher les résultats.

Toutes les étapes mentionnées dans cet exemple de modèle seront expliquées dans les chapitres suivants de ce didacticiel.

Création d'une application JDBC

Les six étapes suivantes sont impliquées dans la création d'une application JDBC -

  • Import the packages:Nécessite que vous incluiez les packages contenant les classes JDBC nécessaires à la programmation de la base de données. Le plus souvent, il suffit d' utiliser import java.sql. * .

  • Register the JDBC driver: Nécessite que vous initialisiez un pilote afin que vous puissiez ouvrir un canal de communication avec la base de données.

  • Open a connection:Nécessite l'utilisation de la méthode DriverManager.getConnection () pour créer un objet Connection, qui représente une connexion physique avec la base de données.

  • Execute a query: Nécessite l'utilisation d'un objet de type Statement pour créer et soumettre une instruction SQL à la base de données.

  • Extract data from result set:Nécessite que vous utilisiez la méthode ResultSet.getXXX () appropriée pour récupérer les données de l'ensemble de résultats.

  • Clean up the environment: Nécessite la fermeture explicite de toutes les ressources de la base de données plutôt que de s'appuyer sur le garbage collection de la JVM.

Exemple de code

Cet exemple d'exemple peut servir de template lorsque vous devez créer votre propre application JDBC à l'avenir.

Cet exemple de code a été écrit en fonction de l'environnement et de la configuration de la base de données effectuée dans le chapitre précédent.

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

//STEP 1. Import required packages
import java.sql.*;

public class FirstExample {
   // JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/EMP";

   //  Database credentials
   static final String USER = "username";
   static final String PASS = "password";
   
   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //STEP 2: Register JDBC driver
      Class.forName("com.mysql.jdbc.Driver");

      //STEP 3: Open a connection
      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);

      //STEP 4: Execute a query
      System.out.println("Creating statement...");
      stmt = conn.createStatement();
      String sql;
      sql = "SELECT id, first, last, age FROM Employees";
      ResultSet rs = stmt.executeQuery(sql);

      //STEP 5: Extract data from result set
      while(rs.next()){
         //Retrieve by column name
         int id  = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");

         //Display values
         System.out.print("ID: " + id);
         System.out.print(", Age: " + age);
         System.out.print(", First: " + first);
         System.out.println(", Last: " + last);
      }
      //STEP 6: Clean-up environment
      rs.close();
      stmt.close();
      conn.close();
   }catch(SQLException se){
      //Handle errors for JDBC
      se.printStackTrace();
   }catch(Exception e){
      //Handle errors for Class.forName
      e.printStackTrace();
   }finally{
      //finally block used to close resources
      try{
         if(stmt!=null)
            stmt.close();
      }catch(SQLException se2){
      }// nothing we can do
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }//end finally try
   }//end try
   System.out.println("Goodbye!");
}//end main
}//end FirstExample

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

C:\>javac FirstExample.java
C:\>

Quand tu cours FirstExample, il produit le résultat suivant -

C:\>java FirstExample
Connecting to database...
Creating statement...
ID: 100, Age: 18, First: Zara, Last: Ali
ID: 101, Age: 25, First: Mahnaz, Last: Fatma
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
C:\>