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

RowSet object trong JDBC là gì? Giải thích bằng chương trình?


RowSet là wrapper bao quanh đối tượng ResultSet. Nó có thể kết nối, ngắt kết nối từ database và có thể được serialize. Nó duy trì thành phần JavaBean bằng cách thiết lập thuộc tính. Bạn có thể truyền RowSet qua mạng. Mặc định RowSet là scrollable và updatable, dùng để làm cho ResultSet trở nên scrollable và updatable.

Lấy RowSet bằng phương thức:

RowSetProvider.newFactory().createJdbcRowSet()

Ví dụ

Giả sử bảng dataset trong database:

+--------------+-----------+ 
| 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      | 
+--------------+-----------+

Chương trình JDBC tạo RowSet object, truy xuất nội dung bảng dataset:

import java.sql.DriverManager; 
import javax.sql.RowSet; 
import javax.sql.rowset.RowSetProvider; 

public class RowSetExample { 
    public static void main(String args[]) throws Exception { 
        // Đăng ký Driver 
        DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 
        // Tạo RowSet object 
        RowSet rowSet = RowSetProvider.newFactory().createJdbcRowSet(); 
        // Thiết lập URL 
        String mysqlUrl = "jdbc:mysql://localhost/TestDB"; 
        rowSet.setUrl(mysqlUrl); 
        // Thiết lập username 
        rowSet.setUsername("root"); 
        // Thiết lập password 
        rowSet.setPassword("password"); 
        // Thiết lập truy vấn/lệnh 
        rowSet.setCommand("select * from Dataset"); 
        System.out.println("Nội dung bảng"); 
        while(rowSet.next()) { 
            System.out.print("Brand: " + rowSet.getString(1) + ", "); 
            System.out.print("Sale: " + rowSet.getString(2)); 
            System.out.println(""); 
        } 
    } 
}

Kết quả

Nội dung bảng 
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