JDBC - Ví dụ về Bản ghi Chọn

Chương này cung cấp một ví dụ về cách chọn / tìm nạp các bản ghi từ một bảng bằng ứng dụng JDBC. Trước khi thực hiện ví dụ sau, hãy đảm bảo rằng bạn có sẵn những điều sau:

  • Để thực hiện ví dụ sau, bạn có thể thay thế tên người dùngmật khẩu bằng tên người dùngmật khẩu thực của mình.

  • MySQL của bạn hoặc bất kỳ cơ sở dữ liệu nào bạn đang sử dụng đang hoạt động.

Các bước bắt buộc

Các bước sau là bắt buộc để tạo Cơ sở dữ liệu mới bằng ứng dụng JDBC:

  • Import the packages:Yêu cầu bạn bao gồm các gói chứa các lớp JDBC cần thiết cho lập trình cơ sở dữ liệu. Thông thường, sử dụng import java.sql. * Là đủ.

  • Register the JDBC driver: Yêu cầu bạn khởi tạo trình điều khiển để bạn có thể mở kênh liên lạc với cơ sở dữ liệu.

  • Open a connection:Yêu cầu sử dụng phương thức DriverManager.getConnection () để tạo một đối tượng Connection, đại diện cho một kết nối vật lý với một máy chủ cơ sở dữ liệu.

  • Execute a query: Yêu cầu sử dụng một đối tượng kiểu Statement để xây dựng và gửi một câu lệnh SQL để chọn (tức là tìm nạp) các bản ghi từ một bảng.

  • Extract Data: Khi truy vấn SQL được thực thi, bạn có thể tìm nạp các bản ghi từ bảng.

  • Clean up the environment: Yêu cầu đóng tất cả các tài nguyên cơ sở dữ liệu một cách rõ ràng thay vì dựa vào bộ sưu tập rác của JVM.

Mã mẫu

Sao chép và dán ví dụ sau vào JDBCExample.java, biên dịch và chạy như sau:

//STEP 1. Import required packages
import java.sql.*;

public class JDBCExample {
   // JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/STUDENTS";

   //  Database credentials
   static final String USER = "username";
   static final String PASS = "password";
   
   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //STEP 2: Register JDBC driver
      Class.forName("com.mysql.jdbc.Driver");

      //STEP 3: Open a connection
      System.out.println("Connecting to a selected database...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);
      System.out.println("Connected database successfully...");
      
      //STEP 4: Execute a query
      System.out.println("Creating statement...");
      stmt = conn.createStatement();

      String sql = "SELECT id, first, last, age FROM Registration";
      ResultSet rs = stmt.executeQuery(sql);
      //STEP 5: Extract data from result set
      while(rs.next()){
         //Retrieve by column name
         int id  = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");

         //Display values
         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){
      //Handle errors for JDBC
      se.printStackTrace();
   }catch(Exception e){
      //Handle errors for Class.forName
      e.printStackTrace();
   }finally{
      //finally block used to close resources
      try{
         if(stmt!=null)
            conn.close();
      }catch(SQLException se){
      }// do nothing
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }//end finally try
   }//end try
   System.out.println("Goodbye!");
}//end main
}//end JDBCExample

Bây giờ, chúng ta hãy biên dịch ví dụ trên như sau:

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

Khi bạn chạy JDBCExample, nó tạo ra kết quả sau:

C:\>java JDBCExample
Connecting to a selected database...
Connected database successfully...
Creating statement...
ID: 100, Age: 18, First: Zara, Last: Ali
ID: 101, Age: 25, First: Mahnaz, Last: Fatma
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
Goodbye!
C:\>