JDBC - Exemple de sélection d'enregistrements
Ce chapitre fournit un exemple sur la manière de sélectionner / d'extraire des enregistrements à partir d'une table à l'aide de l'application JDBC. Avant d'exécuter l'exemple suivant, assurez-vous que les éléments suivants sont en place -
Pour exécuter l'exemple suivant, vous pouvez remplacer le nom d'utilisateur et le mot de passe par votre nom d'utilisateur et votre mot de passe réels.
Votre MySQL ou toute autre base de données que vous utilisez est opérationnel.
Étapes requises
Les étapes suivantes sont nécessaires pour créer une nouvelle base de données à l'aide de l'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 pour pouvoir 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 un serveur de base de données.
Execute a query: Nécessite l'utilisation d'un objet de type Statement pour construire et soumettre une instruction SQL pour sélectionner (c'est-à-dire extraire) des enregistrements d'une table.
Extract Data: Une fois la requête SQL exécutée, vous pouvez récupérer les enregistrements de la table.
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
Copiez et collez l'exemple suivant dans JDBCExample.java, compilez et exécutez comme suit -
//STEP 1. Import required packages
import java.sql.*;
public class JDBCExample {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/STUDENTS";
// 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 a selected database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected database successfully...");
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql = "SELECT id, first, last, age FROM Registration";
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);
}
rs.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)
conn.close();
}catch(SQLException se){
}// do nothing
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end JDBCExample
Maintenant, compilons l'exemple ci-dessus comme suit -
C:\>javac JDBCExample.java
C:\>
Quand tu cours JDBCExample, il produit le résultat suivant -
C:\>java JDBCExample
Connecting to a selected database...
Connected database successfully...
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
Goodbye!
C:\>