ibatis的select标签有个属性remapResults,该属性默认值为false;java
对于该属性的应用状况,如:性能
<select id="getkeyvalues" parameterClass="map" resultMap="java.util.HashMap" remapResults="true">
SELECT $selectresultfields$ spa
FROM $ftablename$ rem
WHERE $selectcondityions$ get
</select>it
在这种查询结果列不肯定(或是动态变化)的状况下,为保证查询结果的正确就须要设置remapResults="true",或者当查询结果只是一个动态变化的列时可用select $selectresultfield$ as resultfield 的形式来解决。io
当设置remapResults为"true"时:
iBATIS会在每次查询的时候内省查询结果来设置元数据,来保证返回恰当的结果。这个属性会形成必定的性能损失,因此要谨慎使用,只在你须要的时候使用--查询列发生变化,直接的,或者隐含的,检索的表发生变化。table