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 回答