我这样做是为了将结果集读入一个哈希映射数组:
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
ArrayList list = new ArrayList(50);
while (rs.next()){
HashMap row = new HashMap(columns);
for(int i=1; i<=columns; ++i){
row.put(md.getColumnName(i),rs.getString(i));
}
list.add(row);
}
但是当我进行类似“SELECT id AS contact_id from contacts”的查询时,我显然得到id =&gt; ####而不是所需的contact_id。最好的方法是什么?这个主题非常难以搜索。 :P谢谢!
答案 0 :(得分:0)
知道了。答案是搜索“获取列别名”:
http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSetMetaData.html
更改为:
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
ArrayList list = new ArrayList(50);
while (rs.next()){
HashMap row = new HashMap(columns);
for(int i=1; i<=columns; ++i){
row.put(md.getColumnLabel(i),rs.getString(i));
}
list.add(row);
}
效果很好。