English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JDBC数据排序

Dieses Kapitel bietet Beispiele zur Sortierung von Aufzeichnungen in einer Tabelle mithilfe einer JDBC-Anwendung. Dies wirdascunddescSchlüsselwörter werden verwendet, um die Aufzeichnungen in einer absteigenden oder aufsteigenden Reihenfolge zu sortieren. Stellen Sie sicher, dass Sie die folgenden Bedingungen erfüllen, bevor Sie den folgenden Beispiel ausführen:

  • Um den folgenden Beispiel zu ausführen, können SieBenutzernameundPasswortErsetzen durch tatsächliche Benutzername und Passwort.

  • Ihre MySQL oder jede andere Datenbank, die Sie verwenden, ist gestartet und läuft.

Notwendige Schritte

Um eine neue Datenbank mit JDBC-Anwendungen zu erstellen, müssen Sie folgende Schritte ausführen-

  • Paket importieren:Erfordert, dass Sie das Softwarepaket enthalten, das die JDBC-Klassen enthält, die für die Datenbankprogrammierung erforderlich sind. In der Regel wird import java.sql.* Bereicht.

  • JDBC-Treiber registrieren: Erfordert, dass Sie den Treiber initialisieren, damit Sie eine Kommunikationsverbindung mit der Datenbank öffnen können.

  • Verbindung herstellen:Es ist erforderlich, DriverManager.getConnection() Ein Methodenaufruf, um ein Connection-Objekt zu erstellen, das eine physische Verbindung zum Datenbankserver darstellt.

  • Abfrage ausführen:Um SQL-Anweisungen zu erstellen und zu übermitteln, um die Datensätze in der Tabelle zu sortieren, ist ein Objekt des Typs Statement erforderlich. Diese Abfragen verwendenascunddescDie Klausel sortiert die Daten in aufsteigender und absteigender Reihenfolge.

  • Umgebung bereinigen: Alle Datenbankressourcen müssen ausdrücklich geschlossen werden, anstatt auf den Müllabfuhrservice der JVM zu vertrauen.

Beispielcode

Kopieren und in JDBCExample.java einfügen, wie folgt kompilieren und ausführen-

//步骤1.Erforderliche Softwarepakete importieren
import java.sql.*;
public class JDBCExample {
   // Name des JDBC-Treibers und der Datenbank-URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/STUDENTS";
   //  Datenbankanmeldeinformationen
   static final String USER = "username";
   static final String PASS = "password";
   
   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //步骤2:JDBC-Treiber registrieren
      Class.forName("com.mysql.jdbc.Driver");
      //步骤3:Verbindung herstellen
      System.out.println("Verbinden mit einer ausgewählten Datenbank...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);
      System.out.println("Connected database successfully...");
      
      //步骤4:执行查询
      System.out.println("Creating statement...");
      stmt = conn.createStatement();
      // 按名字升序提取记录。
      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()){
         //按列名检索
         int id = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");
         //显示值
         System.out.print("ID: " + id);
         System.out.print(", Age: " + age);
         System.out.print(", First: " + first);
         System.out.println(", Last: " + last);
      }
      // 按名字降序提取记录。
      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()){
         //按列名检索
         int id = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");
         //显示值
         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){
      //处理JDBC错误
      se.printStackTrace();
   }catch(Exception e){
      //处理Class.forName的错误
      e.printStackTrace();
   }finally{
      //最终阻止用于关闭资源
      try{
         if(stmt!=null)
            conn.close();
      }catch(SQLException se){
      }// 没做什么
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }
   }
   System.out.println("Goodbye!");
}//结束main
}//结束JDBCExample

现在,让我们编译上面的示例,如下所示:

C:\>javac JDBCExample.java
C:\>

运行时JDBCExample,它将产生以下结果-

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:\>