ホームページ  >  記事  >  データベース  >  JDBCでの結果はどうなるでしょうか? ResultSet オブジェクトからデータを取得するにはどうすればよいですか?

JDBCでの結果はどうなるでしょうか? ResultSet オブジェクトからデータを取得するにはどうすればよいですか?

PHPz
PHPz転載
2023-08-26 16:17:181440ブラウズ

JDBC の ResultSet インターフェイスは、SQL クエリによって生成された表形式のデータを表します。現在の行を指すカーソルがあります。初期状態では、このカーソルは最初の行の前にあります。

JDBC 中的结果是什么?如何从 ResultSet 对象中检索数据?

結果セット全体でポインタを移動します

ResultSet インターフェイスの next() メソッド現在の (ResultSet ) オブジェクトのポインタを現在の位置から次の行に移動します。このメソッドはブール値を返し、現在位置の隣に行がない場合は false を返し、それ以外の場合は true を返します。したがって、while ループ内でこのメソッドを使用して、結果セットの内容を反復処理します。

while(rs.next()){
}

各レコードの列値を取得します:

ResultSet インターフェイスには、行の各列の値を取得するためのゲッター メソッド (getXXX()) も用意されています。各 getter メソッドには 2 つのバリアントがあります。

  • getXXX(int columnIndex): これは、列インデックスを表す整数値を受け取り、その値を返します。

  • getXXX(String columnLabel ): これは、列名を表す文字列値を受け取り、その値を返します。

テーブル内の列のデータ型に応じて、対応するゲッター メソッドを使用する必要があります。

次の内容を含む dataset という名前のテーブルがあるとします。

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

Example

次の例では、Dataset を取得します。テーブル内のすべてのレコードと結果の出力:

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[]) throws Exception {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/TestDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");

      //Creating a Statement object
      Statement stmt = con.createStatement();
      //Retrieving the data
      ResultSet rs = stmt.executeQuery("select * from Dataset");

      System.out.println("Contents of the table");
      while(rs.next()) {
         System.out.print("Brand: "+rs.getString("Mobile_Brand")+", ");
         System.out.print("Sale: "+rs.getString("Unit_Sale"));
         System.out.println("");
      }
   }
}

Output

Connection established......
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

以上がJDBCでの結果はどうなるでしょうか? ResultSet オブジェクトからデータを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。