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