RowSet là một trình bao bọc xung quanh Tập kết quả Vật. Nó có thể được kết nối, ngắt kết nối với cơ sở dữ liệu và có thể được tuần tự hóa. Nó duy trì một thành phần JavaBean bằng cách thiết lập các thuộc tính. Bạn có thể truyền một đối tượng RowSet qua mạng. Theo mặc định, đối tượng RowSet có thể cuộn và cập nhật được và nó được sử dụng để làm cho đối tượng ResultSet có thể cuộn và cập nhật được.
Bạn có thể nhận RowSet bằng cách sử dụng
RowSetProvider.newFactory (). createJdbcRowSet () phương pháp.
Ví dụ
Giả sử chúng ta có một bảng có tên tập dữ liệu trong cơ sở dữ liệu là:
+--------------+-----------+ | 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ụ sau JDBC tạo một đối tượng RowSet truy xuất nội dung của bảng có tên là tập dữ liệu bằng cách sử dụng đối tượng này:
import java.sql.DriverManager; import javax.sql.RowSet; import javax.sql.rowset.RowSetProvider; public class RowSetExample { public static void main(String args[]) throws Exception { //Registering the Driver DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //Creating the RowSet object RowSet rowSet = RowSetProvider.newFactory().createJdbcRowSet(); //Setting the URL String mysqlUrl = "jdbc:mysql://localhost/TestDB"; rowSet.setUrl(mysqlUrl); //Setting the user name rowSet.setUsername("root"); //Setting the password rowSet.setPassword("password"); //Setting the query/command rowSet.setCommand("select * from Dataset"); System.out.println("Contents of the table"); while(rowSet.next()) { System.out.print("Brand: "+rowSet.getString(1)+", "); System.out.print("Sale: "+rowSet.getString(2)); System.out.println(""); } } }
Đầu ra
Contents of the table Brand: Iphone, Sale: 3000 Brand: Samsung, Sale: 4000 Brand: Nokia, Sale: 5000 Brand: Vivo, Sale: 1500 Brand: Oppo, Sale: 900 Brand: MI, Sale: 6400 Brand: MotoG, Sale: 4360 Brand: Lenovo, Sale: 4100 Brand: RedMi, Sale: 4000 Brand: MotoG, Sale: 4360 Brand: OnePlus, Sale: 6334