Chương này cung cấp cho bạn ví dụ minh họa về sử dụng mệnh đề ORDER BY để sắp xếp kết quả bởi sử dụng ứng dụng JDBC. Bạn theo 6 bước đã được đề cập trong chương Tạo ứng dụng JDBC cơ bản.
Phần ví dụ sẽ được trình bày tuần tự theo các bước và sẽ được comment chi tiết cho bạn dễ theo dõi.
Ví dụ mệnh đề ORDER BY trong JDBC
package com.hoctv.jdbc; //Buoc 1: Ban can inport cac package can thiet import java.sql.*; public class ViDuJDBC { // Ten cua driver va dia chi URL cua co so du lieu static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/sinhvien"; // Ten nguoi dung va mat khau cua co so du lieu static final String USER = "root"; static final String PASS = "123456"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ // Buoc 2: Dang ky Driver Class.forName("com.mysql.jdbc.Driver"); // Buoc 3: Mo mot ket noi System.out.println("\nKet noi toi co so du lieu da chon ..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); System.out.println("\nKet noi thanh cong ..."); // Buoc 4: Thuc thi truy van System.out.println("Tao cac lenh truy van SQL ..."); stmt = conn.createStatement(); // Lay cac ban ghi theo thu tu tang dan cua ten. System.out.println("\nLay ban ghi theo thu tu ten tang dan ..."); String sql = "SELECT mssv, ho, ten, diemthi FROM sinhvienk60" + " ORDER BY ten ASC"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ // Lay du lieu boi su dung ten cot int mssv = rs.getInt("mssv"); int diemthi = rs.getInt("diemthi"); String ho = rs.getString("ho"); String ten = rs.getString("ten"); // Hien thi cac gia tri System.out.print("\nMSSV: " + mssv); System.out.print("\nHo: " + ho); System.out.println("\nTen: " + ten); System.out.print("\nDiem Thi: " + diemthi); System.out.print("\n================="); } // Lay ban ghi theo thu tu diemthi giam dan System.out.println("\nLay ban ghi co diem thi giam dan ..."); sql = "SELECT mssv, ho, ten, diemthi FROM sinhvienk60" + " ORDER BY diemthi DESC"; rs = stmt.executeQuery(sql); while(rs.next()){ // Lay du lieu boi su dung ten cot int mssv = rs.getInt("mssv"); int diemthi = rs.getInt("diemthi"); String ho = rs.getString("ho"); String ten = rs.getString("ten"); // Hien thi cac gia tri System.out.print("\nMSSV: " + mssv); System.out.print("\nHo: " + ho); System.out.println("\nTen: " + ten); System.out.print("\nDiem Thi: " + diemthi); System.out.print("\n================="); } rs.close(); }catch(SQLException se){ // Xu ly cac loi cho JDBC se.printStackTrace(); }catch(Exception e){ // Xu ly cac loi cho Class.forName e.printStackTrace(); }finally{ // Khoi finally duoc su dung de dong cac resource try{ if(stmt!=null) conn.close(); }catch(SQLException se){ }// do nothing try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); }// Ket thuc khoi finally }// Ket thuc khoi try }// Ket thuc main }// Ket thuc ViDuJDBC
Sao chép và dán ví dụ trên trong ViDuJDBC.java, sau đó biên dịch và chạy chương trình Java trên sẽ cho kết quả: