English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
この章では、JDBCアプリケーションを使用してテーブルのレコードをソートする方法についての例を提供しています。これはascおよびdescレコードを昇順または降順にソートするためにキーワードを使用します。以下の例を実行する前に、以下の条件を確認してください:
以下の例を実行するには、ユーザー名およびパスワード実際のユーザー名とパスワードに置き換えてください。
MySQLや使用している他のデータベースが起動して動作していることを確認してください。
JDBCアプリケーションを使用して新しいデータベースを作成するには、以下の手順を実行する必要があります-
パッケージをインポート:データベースプログラミングに必要なJDBCクラスを含むソフトウェアパッケージを含める必要があります。通常、以下を使用します import java.sql.* それで十分です。
JDBCドライバーを登録: ドライバーを初期化する必要があります。これにより、データベースとの通信チャネルを開くことができます。
接続:必要です DriverManager.getConnection() メソッドを使用して、データベースサーバーとの物理接続を表すConnectionオブジェクトを作成します。
クエリを実行:SQLステートメントのオブジェクトを使用してSQLクエリを構築および提出し、テーブルのレコードを並べ替えるために必要です。これらのクエリは以下のascおよびdesc子句を使用してデータを昇順および降順に並べ替えます。
環境のクリーンアップ: すべてのデータベースリソースを明示的に閉じる必要があります。JVMのゴミ収集に依存するのではなく。
以下の例をJDBCExample.javaにコピーして貼り付け、以下のようにコンパイルおよび実行してください-
//ステップ1.必要なソフトウェアパッケージをインポート import java.sql.*; public class JDBCExample { // JDBCドライバー名とデータベースURL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/STUDENTS"; // データベースの証明書 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ドライバーを登録 Class.forName("com.mysql.jdbc.Driver"); //ステップ3:接続を確立 System.out.println("Connecting to a selected database..."); 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("さようなら!"); }//mainの終了 }//JDBCExampleの終了
次に、上記の例を以下のようにコンパイルします:
C:\>javac JDBCExample.java C:\>
実行時JDBCExample、以下のような結果が得られます-
C:\>java JDBCExample 選択されたデータベースに接続しています... データベースに接続成功... ステートメントの作成... 昇順にレコードを取得しています... ID: 103, Age: 28, First: Sumit, Last: Mittal ID: 102, Age: 30, First: Zaid, Last: Khan ID: 100, Age: 30, First: Zara, Last: Ali 降順にレコードを取得しています... ID: 100, Age: 30, First: Zara, Last: Ali ID: 102, Age: 30, First: Zaid, Last: Khan ID: 103, Age: 28, First: Sumit, Last: Mittal さようなら! C:\>