Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách truy xuất các cột cụ thể của bảng bằng chương trình JDBC?


Interface ResultSet trong JDBC đại diện cho dữ liệu dạng bảng được tạo bởi truy vấn SQL. Nó có con trỏ trỏ đến hàng hiện tại. Ban đầu con trỏ nằm trước hàng đầu tiên.

Bạn có thể di chuyển con trỏ bằng phương thức next() và lấy giá trị cột của hàng bằng các phương thức getter của ResultSet (getInt(), getString(), getDate(), v.v.).

Để truy xuất dữ liệu cần thiết từ bảng:

  • Kết nối đến database.

  • Tạo đối tượng Statement.

  • Thực thi Statement bằng phương thức executeQuery(). Truyền câu truy vấn select dạng String. Để lấy tất cả giá trị:

Select * from TableName;
  • Để lấy các cột cụ thể, chỉ định tên cột thay vì *:

select Name, DOB from Emp

Ví dụ

Giả sử có bảng Emp trong database với mô tả sau:

+----------+--------------+------+-----+---------+-------+ 
| Field    | Type         | Null | Key | Default | Extra | 
+----------+--------------+------+-----+---------+-------+ 
| Name     | varchar(255) | YES  |     | NULL    |       | 
| DOB      | date         | YES  |     | NULL    |       | 
| Location | varchar(255) | YES  |     | NULL    |       | 
+----------+--------------+------+-----+---------+-------+

Chương trình JDBC sau truy xuất Name và DOB từ bảng Emp:

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 

public class RetrievingParticularColumn { 
    public static void main(String args[]) throws Exception { 
        // Đăng ký Driver 
        DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 
        // Lấy kết nối 
        String mysqlUrl = "jdbc:mysql://localhost/sampleDB"; 
        Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); 
        System.out.println("Kết nối thành công......"); 
        // Tạo Statement 
        Statement stmt = con.createStatement(); 
        // Truy xuất dữ liệu 
        ResultSet rs = stmt.executeQuery("select Name, DOB from Emp"); 
        System.out.println("Nội dung bảng"); 
        while(rs.next()) { 
            System.out.print("Tên nhân viên: " + rs.getString("Name") + ", "); 
            System.out.print("Ngày sinh: " + rs.getDate("DOB")); 
            System.out.println(""); 
        } 
    } 
}

Kết quả

Kết nối thành công...... 
Nội dung bảng 
Tên nhân viên: Amit, Ngày sinh: 1970-01-08 
Tên nhân viên: Sumith, Ngày sinh: 1970-01-08 
Tên nhân viên: Sudha, Ngày sinh: 1970-01-05