[英]How to effectively get “AS” column name like ResultSetMetaData?
I am doing this in order to read the result set into an array of hashmaps: 我这样做是为了将结果集读取到哈希表数组中:
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);
}
but when I do a query that is like "SELECT id AS contact_id from contacts" I am obviously getting id=>#### instead of the desired contact_id. 但是当我执行类似“从联系人中选择SELECT ID AS contact_id”的查询时,我显然会得到id => ####而不是所需的contact_id。 What is the best way to go about this?
最好的方法是什么? This topic is super hard to search for.
这个主题很难找到。 :P Thanks!
:P谢谢!
Got it. 得到它了。 The answer was to search for "get column alias":
答案是搜索“获取列别名”:
http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSetMetaData.html http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSetMetaData.html
Changed to: 变成:
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);
}
works great. 效果很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.