今天试了下在ibatis中返回Map类型的结果
<select id="findMapByCode" parameterClass="java.lang.String" resultClass="java.util.Map">
select name from tab where colname=#code#
</select>
将会报错,但是将resultClass="java.util.Map" 改为resultClass="java.util.HashMap"
就可以返回结果了.觉得理论上返回java.util.Map应该行吧,但是后台总是出现错误,具体原因再研究下,如果哪位知道原因,就给我留个言吧.
如果得到List,jdbcDAO为封装好的SqlMap实现类
List list=jdbcDAO.queryForList("findMapByCode",code);
request.setAttribute("result",list);
在前台利用struts标签可以如下调用
<logic:iterate id="result" name="result">
<bean:write name="result" property="name">
</logic:iterate>
可以得到List中Map对应key属性为name的值.
也可以自定义一个resultMap.在<select id="xx" parameterClass="xx" resultMap="xx"></select>中的resultMap引用自定义的Map