ibatis的remapResults属性

来源:互联网 发布:p2p理财安全吗 知乎 编辑:程序博客网 时间:2024/05/01 08:01
 

ibatis的select标签有个属性remapResults,该属性默认值为false;

对于该属性的应用情况,如:

<select id="getkeyvalues" parameterClass="map" resultMap="java.util.HashMap"  remapResults="true">
          SELECT  $selectresultfields$          

         FROM $ftablename$          

         WHERE   $selectcondityions$  

 </select>

在这种查询结果列不确定(或是动态变化)的情况下,为保证查询结果的正确就需要设置remapResults="true",或者当查询结果只是一个动态变化的列时可用select $selectresultfield$ as resultfield 的形式来解决。

当设置remapResults为"true"时:
iBATIS会在每次查询的时候内省查询结果来设置元数据,来保证返回恰当的结果。这个属性会造成一定的性能损失,所以要谨慎使用,只在你需要的时候使用--查询列发生变化,直接的,或者隐含的,检索的表发生变化。