码迷,mamicode.com
首页 > 其他好文 > 详细

ibatis 当查询的结果集列明动态变化时,需要在select等标签上加上 remapResults="true"属性.

时间:2014-11-19 15:53:28      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   使用   sp   java   文件   

eg:

    <!-- 根据给定的参数查询出对应的月度活跃用户数据 -->
    <select id="listActiveStaffReportByMap" parameterClass="java.util.Map" resultClass="java.util.HashMap" remapResults="true">
        select uir.REGION_NAME   as PROVINCENAME,
               uir2.REGION_NAME  as CITYNAME,
               ist.STORE_ID      as STOREID,
               ist.STORE_NAME    as STORENAME,
               ist.STORE_ADDRESS as STOREADDR,
               uip.PLACE_NAME    as STOREPLACENAME,
               isf.STAFF_NAME    as STAFFNAME,
               isf.STAFF_MOBILE  as STAFFMOBILE,
               isf.STAFF_CODE    as STAFFID,
               isf.STAFF_STATUS  as STAFFSTATUS,
               sabms.*
          from ($staffActiveSql$) sabms
     left join INFO_STAFF isf      on sabms.STAFF_ID   = isf.STAFF_ID
     left join INFO_STORE ist      on isf.STORE_ID     = ist.STORE_ID
     left join UI_INFO_REGION uir  on ist.PROVINCE_ID  = uir.REGION_ID
     left join UI_INFO_REGION uir2 on ist.CITY_ID      = uir2.REGION_ID
     left join UI_INFO_PLACE uip   on ist.PLACE_ID     = uip.PLACE_ID
          <dynamic prepend="where">
                <isNotNull property="provinceId" prepend="and">
                        uir.REGION_ID = #provinceId#
                </isNotNull>
                <isNotNull property="cityId" prepend="and">
                        uir2.REGION_ID = #cityId#
                </isNotNull>
          </dynamic>
    </select>

这个查询的一部分是在服务器端拼成的staffActiveSql,,作为map参数的一部分传进来..一个是因为 这个子查询比较复杂,,再有就是为了可以复用.配置文件中的这个<select>..

本来以为一切正常,当我在点击使用了这个<select>的功能后,又去测试另一个类似的同样使用的该<select>的功能,,结果报异常了..(又是该死的列明无效...之前查询的时候也报过这个异常,是因为as别名使用了Oracle的关键字..)

原因:iBATIS会在每次查询的时候内省查询结果来设置元数据,来保证返回恰当的结果。这个属性会造成一定的性能损失,所以要谨慎使用,只在你需要的时候使用.

 

ibatis 当查询的结果集列明动态变化时,需要在select等标签上加上 remapResults="true"属性.

标签:style   blog   io   ar   color   使用   sp   java   文件   

原文地址:http://www.cnblogs.com/mqyg/p/4108279.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!