JDBC - Exemple de clause WHERE
Ce chapitre fournit un exemple sur la manière de sélectionner des enregistrements dans une table à l'aide de l'application JDBC. Cela ajouterait des conditions supplémentaires à l'aide de la clause WHERE lors de la sélection des enregistrements dans la table. 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 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 un serveur de 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 pour récupérer les enregistrements d'une table, qui remplissent la condition donnée. Cette requête utilise leWHERE clause pour sélectionner les enregistrements.
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();
// Extract records without any condition.
System.out.println("Fetching records without condition...");
String sql = "SELECT id, first, last, age FROM Registration";
ResultSet rs = stmt.executeQuery(sql);
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);
}
// Select all records having ID equal or greater than 101
System.out.println("Fetching records with condition...");
sql = "SELECT id, first, last, age FROM Registration" +
" WHERE id >= 101 ";
rs = stmt.executeQuery(sql);
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...
Fetching records without condition...
ID: 100, Age: 30, First: Zara, Last: Ali
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
Fetching records with condition...
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
Goodbye!
C:\>