2

たとえば、データベースに次のようなテーブルを取得しました。

| id | first_name | last_name   |
+----+------------+-------------+
| 23 | Hans       | Mueller     |
| 42 | John       | Kramer      |
| 23 | Max        | Mustermann  |

Object[][]レコードセットを実際の行番号の列から始めるにはどうすればよいですか (例: 以下)。

{
    {1, 23, "Hans", "Mueller"},
    {2, 42, "John", "Kramer"},
    {3, 76, "Max", "Mustermann"}
};
4

2 に答える 2

1

どうすればレコードセットを Object[][] に入れることができますが、実際の行番号の列から始めます

すぐに使用できる JDBC API を探しているのであれば、それがあるかどうかは疑問です。を使用する場合はResultSetMetaData、次のように関数を記述して同じものを作成できます。

  1. 取るResultSet
  2. ResultSetMetaData使用するrsmd = resultSet.getMetaData()
  3. を使用して列数を取得しますrsmd.getColumnCount()
  4. 結果セットの各行を反復処理し、1 から始まる列インデックスを使用して列値を取得します (インデックスが 0 から始まる配列とは異なります)。
  5. を使用して列のデータ型を取得し、型にrsmd.getColumnType(columnIndex)基づいて適切なインスタンスを追加します (java.sql.Types を適切に切り替えることができます)。
于 2012-11-12T10:40:55.213 に答える
0

ORMを見てください。これが実際の知識とはかけ離れている場合は、次のような独自のクラス Person を作成してみてください。

public class Person {
  int id;
  String firstname;
  String surname;

  public void initByResultSet(ResultSet result) {
    [...]
  }
}

または、これが本当に必要な場合はObject[][]、行番号を提供するデータベースにビューを作成します。

于 2012-11-12T10:38:06.337 に答える