Try executeQueryForMap() instead.
On Mon, 24 Jan 2005 08:42:25 -0800, Pascal DeMilly <[EMAIL PROTECTED]> wrote: > Hi, > > I would like to retrieve a Map with whose key is the 1st column of my > query and the value is the 2nd column. For example right now I do: > > <select id="getItemNameMap" resultClass="java.util.HashMap"> > select SKU, Description from Items > </select> > > However this returns a list of maps with the key being the column name > and the value the column value which seems wasteful in term of space (I > am using remoting to retrieve that info). > > I currently solve it by using a custom rowHandler in my DAO as follow: > > public Map getItemNames () throws DataAccessException { > final KeyValueHandler rowHandler = new KeyValueHandler (); > getSqlMapClientTemplate().queryWithRowHandler("getItemNameMap", null, > rowHandler); > return rowHandler.getMap(); > } > > private class KeyValueHandler implements RowHandler { > final Map map = new HashMap (); > > public void handleRow(Object valueObject) { > final Map row = (Map) valueObject; > map.put (row.get("SKU"), row.get("Description")); > } > > public Map getMap () { > return map; > } > > } > > But I would like to move possibly that code out of my DAO code and into > iBatis SqlMap file. > > How could I do that > > TIA > > Pascal > >