JDBC - Beispiel für das Sortieren von Daten
Dieses Kapitel enthält ein Beispiel zum Sortieren von Datensätzen aus einer Tabelle mithilfe der JDBC-Anwendung. Dies würde verwendenasc und descSchlüsselwörter zum Sortieren von Datensätzen in aufsteigender oder absteigender Reihenfolge. 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 Sortieren von Datensätzen aus einer Tabelle. Diese Abfragen verwendenasc und desc Klauseln zum Sortieren von Daten in aufsteigender und absteigender Reihenfolge.
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 in ascending order by first name.
System.out.println("Fetching records in ascending order...");
String sql = "SELECT id, first, last, age FROM Registration" +
" ORDER BY first ASC";
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);
}
// Extract records in descending order by first name.
System.out.println("Fetching records in descending order...");
sql = "SELECT id, first, last, age FROM Registration" +
" ORDER BY first DESC";
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 in ascending order...
ID: 103, Age: 28, First: Sumit, Last: Mittal
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 100, Age: 30, First: Zara, Last: Ali
Fetching records in descending order...
ID: 100, Age: 30, First: Zara, Last: Ali
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
Goodbye!
C:\>