Computer >> Máy Tính >  >> Lập trình >> MySQL

Giải thích đối tượng RowSet bằng chương trình JDBC là gì?

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