Ví dụ mệnh đề WHERE trong JDBC

Chương này cung cấp cho bạn ví dụ minh họa về sử dụng mệnh đề WHERE 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 đề WHERE 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();


      // Dau tien, lay cac ban ghi ma khong kem theo dieu kien nao.
      System.out.println("\nLay cac ban ghi ma khong kem theo dieu kien nao ...");
      String sql = "SELECT mssv, ho, ten, diemthi FROM sinhvienk60";
      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=================");
      }


      // Bay gio, lay cac ban ghi voi dieu kien la mssv >= 2
      System.out.println("\nLay ban ghi kem theo dieu kien ...");
      sql = "SELECT mssv, ho, ten, diemthi FROM sinhvienk60" +
                   " WHERE mssv >= 2 ";
      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ả:

Bình luận