Tạo ứng dụng JDBC đơn giản

Trong chương này, bạn sẽ tìm hiểu cách tạo một ứng dụng JDBC đơn giản. Bạn sẽ thấy cách mở một kết nối tới cơ sở dữ liệu, thực thi một truy vấn SQL và hiển thị các kết quả.

Tạo ứng dụng JDBC

Bạn theo dõi 6 bước sau để xây dựng một ứng dụng JDBC:

Bước 1: Import các package

Trong bước này, bạn cần import các package chứa các lớp JDBC cần thiết cho lập trình Database. Thông thường, bạn chỉ cần sử dụng import java.sql.*.

Bước 2: Đăng ký JDBC driver

Trong bước này, bạn cần khởi tạo một driver để bạn có thể mở một kênh giao tiếp với cơ sở dữ liệu.

Bước 3: Mở một kết nối

Bạn sử dụng phương thức DriverManager.getConnection() để tạo một đối tượng Connection biểu diễn một kết nối vật lý với cơ sở dữ liệu.

Bước 4: Thực thi một truy vấn

Bạn cần sử dụng một đối tượng của kiểu Statement để xây dựng và đệ trình một lệnh SQL tới cơ sở dữ liệu.

Bước 5: Lấy dữ liệu từ ResultSet

Bạn sử dụng phương thức ResultSet.getXXX() để thu nhận dữ liệu từ Result Set.

Bước 6: Dọn sạch môi trường và giải phóng resource

Sau khi đã làm việc xong, bạn cần đóng tất cả các Database Resource, chứ đừng hoàn toàn đặt niềm tin vào Garbage Collection của JVM.

Ví dụ về tạo ứng dụng JDBC đơn giản

Dưới đây là code ví dụ để tạo một ứng dụng JDBC đơn giản. Trong phần code này, chúng tôi đã comment theo từng bước đã trình bày ở trên để bạn tiện theo dõi.

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("Dang ket noi toi co so du lieu ...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);


      // Buoc 4: Thuc thi truy van
      System.out.println("Tao cac lenh truy van SQL ...");
      stmt = conn.createStatement();
      String sql;
      sql = "SELECT mssv, ho, ten, diemthi FROM sinhvienk60";
      ResultSet rs = stmt.executeQuery(sql);


      // Buoc 5: Lay du lieu tu Result Set
      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=================");


      }
      // Buoc 6: Don sach moi truong va giai phong resource
      rs.close();
      stmt.close();
      conn.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)
            stmt.close();
      }catch(SQLException se2){
      } 
      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ả sau:

Bình luận