JDBC - WHERE-Klauselbeispiel
Dieses Kapitel enthält ein Beispiel zum Auswählen von Datensätzen aus einer Tabelle mithilfe der JDBC-Anwendung. Dies würde zusätzliche Bedingungen unter Verwendung der WHERE-Klausel hinzufügen, während Datensätze aus der Tabelle ausgewählt werden. Stellen Sie vor dem Ausführen des folgenden Beispiels sicher, dass Folgendes vorhanden ist:
Um das folgende Beispiel auszuführen, können Sie den Benutzernamen und das Kennwort durch Ihren tatsächlichen Benutzernamen und Ihr Kennwort ersetzen .
Ihr MySQL oder die von Ihnen verwendete Datenbank ist betriebsbereit.
Erforderliche Schritte
Die folgenden Schritte sind erforderlich, um eine neue Datenbank mit der JDBC-Anwendung zu erstellen:
Import the packages:Erfordert, dass Sie die Pakete einschließen, die die für die Datenbankprogrammierung erforderlichen JDBC-Klassen enthalten. Am häufigsten reicht die Verwendung von import java.sql. * Aus .
Register the JDBC driver: Erfordert, dass Sie einen Treiber initialisieren, damit Sie einen Kommunikationskanal mit der Datenbank öffnen können.
Open a connection:Erfordert die Verwendung der DriverManager.getConnection () -Methode, um ein Verbindungsobjekt zu erstellen, das eine physische Verbindung mit einem Datenbankserver darstellt.
Execute a query:Erfordert die Verwendung eines Objekts vom Typ Anweisung zum Erstellen und Senden einer SQL-Anweisung zum Abrufen von Datensätzen aus einer Tabelle, die die angegebene Bedingung erfüllen. Diese Abfrage verwendet dieWHERE Klausel zur Auswahl von Datensätzen.
Clean up the environment: Erfordert das explizite Schließen aller Datenbankressourcen im Vergleich zum Verlassen auf die Garbage Collection der JVM.
Beispielcode
Kopieren Sie das folgende Beispiel und fügen Sie es in JDBCExample.java ein. Kompilieren Sie es und führen Sie es wie folgt aus:
//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
Lassen Sie uns nun das obige Beispiel wie folgt zusammenstellen:
C:\>javac JDBCExample.java
C:\>
Wenn du rennst JDBCExampleerzeugt es das folgende Ergebnis -
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:\>