今天试了下在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
本文探讨了在Ibatis中返回Map类型结果的方法,并解决了使用java.util.Map作为resultClass时出现的问题,通过改用java.util.HashMap成功返回结果。此外,还介绍了如何获取List中的Map数据及自定义resultMap。
752

被折叠的 条评论
为什么被折叠?



