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

来源:互联网 发布:互联网创业 知乎 编辑:程序博客网 时间:2024/05/21 07:51

适用于确认列名在在相应的数据表、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>

原创粉丝点击