ResultSet を Map に変換する方法として、Apache Commons の DbUtils に次のような便利なメソッドがあります。
org.apache.commons.dbutils.BasicRowProcessor#toMap(ResultSet) throws SQLException
ResultSet の行を Map へ変換します。 この実装では、大小文字を区別しないカラム名をキーとしたMapを返します。 例えば、map.get(“COL”) の呼び出しと
map.get(“col”) の呼び出しでは、 同一の値が返されるようになります。
Commons DbUtils: JDBC Utility Component
BasicRowProcessor javadoc
または、自前実装でこのような方法もあります。
public List resultSetToArrayList(ResultSet rs) throws SQLException{ 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){<br /> row.put(md.getColumnName(i),rs.getObject(i)); } list.add(row); } return list; }
参考: http://stackoverflow.com/questions/7507121/efficient-way-to-handle-resultset-in-java