Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

JDBC 프로그램을 사용하여 설명하는 RowSet 개체는 무엇입니까?

<시간/>

RowSet은 ResultSet의 래퍼입니다. 물체. 데이터베이스에서 연결, 연결 해제 및 직렬화할 수 있습니다. 속성을 설정하여 JavaBean 구성 요소를 유지 관리합니다. 네트워크를 통해 RowSet 객체를 전달할 수 있습니다. 기본적으로 RowSet 개체는 스크롤 및 업데이트 가능하며 ResultSet 개체를 스크롤 및 업데이트할 수 있도록 만드는 데 사용됩니다.

를 사용하여 RowSet을 얻을 수 있습니다.

RowSetProvider.newFactory().createJdbcRowSet() 방법.

예시

데이터베이스에 다음과 같은 데이터셋이라는 테이블이 있다고 가정합니다.

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

다음 JDBC 예제는 RowSet 객체를 생성하고 이 객체를 사용하여 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 {
      //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("");
      }
   }
}

출력

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