English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Cette section fournit des exemples sur la manière d'utiliser une application JDBC pour sélectionner des enregistrements à partir d'une table. Lors de la sélection d'enregistrements à partir d'une table, LIKE clause ajoute d'autres conditions. Assurez-vous d'avoir les conditions suivantes avant d'exécuter l'exemple suivant :
Pour exécuter l'exemple suivant, vous pouvez copierNom d'utilisateuretMot de passeRemplacez par les utilisateurs et 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.
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 packages:Il vous est demandé d'inclure le package 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 un 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 une 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 des enregistrements à partir de tables satisfaisant des conditions données. Cette requête utiliseLIKELa clause WHERE sélectionne les enregistrements pour sélectionner tous les étudiants whose noms commencent par «za».
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回收站de JVM.
Copiez et collez l'exemple suivant dans JDBCExample.java, compilez et exécutez comme suit-
//étape1.importation des packages nécessaires import java.sql.*; public class JDBCExample { // Nom du pilote JDBC et URL de base de données static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/STUDENTS"; // Identifiants de 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("Connection à 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(", Age: " + age); System.out.print(", Premier: " + first); System.out.println(", Dernier: " + last); } // sélectionner tous les ID égaux ou supérieurs à101d'enregistrements System.out.println("Récupération des enregistrements avec condition..."); sql = "SELECT id, first, last, age FROM Registration" + " WHERE first LIKE '%za%' "; 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(", Age: " + 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 rien faire try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("Au revoir!"); }//Fin main }//Fin JDBCExample
Maintenant, compilons l'exemple ci-dessus, comme suit :
C:\>javac JDBCExample.java C:\>
à l'exécutionJDBCExample, cela 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: 100, Âge: 30, Premier: Zara, Dernier: Ali ID: 102, Âge: 30, Premier: Zaid, Dernier: Khan ID: 103, Âge: 28, Premier: Sumit, Dernier: Mittal Récupération des enregistrements avec condition... ID: 100, Âge: 30, Premier: Zara, Dernier: Ali ID: 102, Âge: 30, Premier: Zaid, Dernier: Khan Au revoir! C:\>