A Bộ kết quả giao diện trong JDBC đại diện cho dữ liệu dạng bảng được tạo bởi các truy vấn SQL. Nó có một con trỏ trỏ đến hàng hiện tại. Ban đầu, con trỏ này được đặt trước hàng đầu tiên.
Di chuyển con trỏ trong suốt tập kết quả
Tiếp theo () phương thức của giao diện ResultSet di chuyển con trỏ của đối tượng (ResultSet) hiện tại sang hàng tiếp theo, từ vị trí hiện tại. Phương thức này trả về một giá trị boolean, nếu không có hàng nào bên cạnh vị trí hiện tại của nó, nó trả về false, nếu không nó trả về true. Do đó, sử dụng phương pháp này trong vòng lặp while, bạn có thể lặp lại nội dung của tập kết quả.
while (rs.next ()) {}
Nhận các giá trị cột của mỗi bản ghi:
Giao diện ResultSet (cũng) cung cấp các phương thức getter (getXXX ()) để truy xuất các giá trị trong mỗi cột của một hàng. Mọi phương thức getter đều có hai biến thể:
-
getXXX (int columnIndex): Điều này chấp nhận một giá trị số nguyên đại diện cho chỉ mục của cột và trả về giá trị của nó.
-
getXXX (String columnLabel): Điều này chấp nhận một giá trị Chuỗi đại diện cho tên của cột và trả về giá trị của nó.
Bạn cần sử dụng phương thức getter tương ứng dựa trên kiểu dữ liệu của cột trong bảng.
Ví dụ
Giả sử chúng ta có một bảng có tên là tập dữ liệu với nội dung như hình dưới đây:
+ -------------- + ----------- + | mobile_brand | unit_sale | + -------------- + ----------- + | Iphone | 3000 || Samsung | 4000 || Nokia | 5000 || Vivo | 1500 || Oppo | 900 || MI | 6400 || MotoG | 4360 || Lenovo | 4100 || RedMi | 4000 || MotoG | 4360 || OnePlus | 6334 | + -------------- + ----------- +
Ví dụ
Ví dụ sau truy xuất tất cả các bản ghi của Tập dữ liệu bảng và in kết quả:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class RetrievingData {public static void main (String args []) ném Exception {// Đăng ký Trình điều khiển DriverManager.registerDriver (com.mysql.jdbc.Driver ()) mới; // Bắt kết nối String mysqlUrl ="jdbc:mysql:// localhost / TestDB"; Kết nối con =DriverManager.getConnection (mysqlUrl, "root", "password"); System.out.println ("Kết nối được thiết lập ......"); // Tạo đối tượng Statement Statement stmt =con.createStatement (); // Lấy dữ liệu ResultSet rs =stmt.executeQuery ("select * from Dataset"); System.out.println ("Nội dung của bảng"); while (rs.next ()) {System.out.print ("Thương hiệu:" + rs.getString ("Mobile_Brand") + ","); System.out.print ("Bán:" + rs.getString ("Unit_Sale")); System.out.println (""); }}}
Đầu ra
Đã thiết lập kết nối ...... Nội dung bảng Thương hiệu:Iphone, Giá bán:3000 Thương hiệu:Samsung, Giá bán:4000 Thương hiệu:Nokia, Giá bán:5000 Thương hiệu:Vivo, Giá bán:1500 Thương hiệu:Oppo, Giá bán:900 Thương hiệu:MI, Giá bán:6400 Thương hiệu:MotoG, Giá bán:4360 Thương hiệu:Lenovo, Giá bán:4100 Thương hiệu:RedMi, Giá bán:4000