现在的位置: 首页 > 综合 > 正文

ibatis返回结果映射到HashMap时,列名无效的问题

2013年07月04日 ⁄ 综合 ⁄ 共 394字 ⁄ 字号 评论关闭

适用于确认列名在在相应的数据表、domain中存在

 

<select id="select" resultClass="java.util.HashMap"  >
                select * from $tableName$ where id=#id#
</select>

该查询结果映射到HashMap中,第一次使用这个语句是没有问题,但是当使用这个语句查询别的表时,报错为“列名无效”,分析之后原因为ibatis对上个表的结构进行了映射缓存,从结果集到HashMap的映射时按照缓存中表字段进行装载。

使用remapResults这个属性,可以重新映射结果集
<select id="select" resultClass="java.util.HashMap" remapResults="true"   >
                select * from $tableName$ where id=#id#
</select>

抱歉!评论已关闭.