从数据库中查询出若干数据,得到一个ResultSet对象,现想将其中的数据显示到一个JTable中。
为了向JTable中插入数据,使用DefaultTabelModel中的方法setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
dataVector是一个2维数组,我要先从ResultSet中取出所有数据放入这个数组中。但为了事先创造数组,我又要知道数组的确切大小,即要知道ResultSet中数据的总条数。
我的方法是:
[1]调用ResultSet中方法last,将指针放到结果集的末行。
[2]调用方法getRow获得最后一行的行号,也即总条数。
[3]调用方法beforeFirst,将指针位置重新放到第一行之前。
[4]再从结果集中读出数据。但觉得这个过程有些冗余,效率应该也不高。
请问有更直接、高效的办法吗?
如果使用方法setDataVector(Vector dataVector, Vector columnIdentifiers) ,可能不需要首先获得数据的总条数,但我对此处dataVector装入的数据的类型不太清楚?它是以每一条记录(相当于前述2维数组的一行)为单位装入,还是以每一条记录中的每一个字段(相当于前述2维数组中每一行中的每个单元)为单位装入?