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

Exemple d'objet PreparedStatement JDBC

Voici un exemple, utilisant PreparedStatement et ouvrant et fermant des instructions :
Ce code d'exemple est écrit en fonction de l'environnement et de la configuration de la base de données des chapitres précédents.

Copiez et collez l'exemple suivant dans JDBCExample.java, puis compilez et exécutez :

//Étapes1. Importer les paquets 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/EMP";
   // Bases de données credentials
   static final String USER = "username";
   static final String PASS = "password";
   
   public static void main(String[] args) {
   Connection conn = null;
   PreparedStatement stmt = null;
   try{
      //Étapes2: Enregistrer le pilote JDBC
      Class.forName("com.mysql.jdbc.Driver");
      //Étapes3Ouvrir la connexion
      System.out.println("Connexion à la base de données...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);
      //Étapes4Exécuter la requête
      System.out.println("Création de l'état...");
      String sql = "UPDATE Employees set age=? WHERE id=?";
      stmt = conn.prepareStatement(sql);
      
      //Lie les valeurs aux paramètres.
      stmt.setInt(1, 35);  // Définir âge
      stmt.setInt(2, 102); // Définir ID
      
      //Sélectionnons les enregistrements avec ID=102Mettre à jour l'âge des enregistrements;
      int rows = stmt.executeUpdate();
      System.out.println("Lignes impactées : " + rows);
      //Sélectionnons tous les enregistrements et affichons-les.
      sql = "SELECT id, first, last, age FROM Employees";
      ResultSet rs = stmt.executeQuery(sql);
      //Étapes5Extraire les données du jeu de résultats
      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 les valeurs
         System.out.print("ID : " + id);
         System.out.print(", Âge : " + age);
         System.out.print(", Premier : " + first);
         System.out.println(", Dernier : " + last);
      }
      //Sixième étape : nettoyer l'environnement
      rs.close();
      stmt.close();
      conn.close();
   }catch(SQLException se){
      //Gérer les erreurs JDBC
      se.printStackTrace();
   catch(Exception e){
      //Gérer l'erreur de Class.forName
      e.printStackTrace();
   }
      //用于关闭资源的finally块
      try{
         if(stmt!=null)
            stmt.close();
      }2){
      }// 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 JDBCExample

Now let's compile the above example as follows:

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

When you run FirstExample, it will produce the following results-

C:\>java FirstExample
Connecting to database...
Creating statement...
ID: 10, Âge: 18, Premier: Zara, Dernier: Ali
ID: 101, Âge: 25, Premier: Mahnaz, Dernier: Fatma
ID: 102, Âge: 3, Premier: Zaid, Dernier: Khan
ID: 103, Âge: 28, Premier: Sumit, Dernier: Mittal
C:\>