这是我的代码:
<resultMap class="<custom_class>" id="maptoCustomClass">
<result property="idModifiedBy" column="col2" />
<result property="assignedTeamName" column="col3" />
</resultMap>
<resultMap class="java.util.HashMap" id="resultMapId">
<result property="key" column="col1"/>
<result property="value" resultMap="file.maptoCustomClass"/>
</resultMap>
<select id="fetchTaskTeamAndUser" parameterClass="java.util.HashMap" resultMap="resultMapId">
SELECT col1, col2, col3
FROM schema_name.table_name
</select>
这不起作用并且抛出“返回太多行”错误。我理解为什么。
我的问题是如何将结果作为HashMap的KEY和VALUE对获取?
e.g。我应该得到一个带有key的HashMap作为col1的值,将value作为包含col2和col3值的对象。
答案 0 :(得分:1)
尝试:
Map<String,Long> mCountMap = getSqlMapClientTemplate().queryForMap("mydata", "", "key", "value");
<resultMap id="hashMapResult" class="java.util.HashMap">
<result property="key" column="col_1"/>
<result property="value" column="col_2"/>
</resultMap>
<select id="mydata" resultMap="hashMapResult">
select col_1, col_2 from sometable
</select>