1. 程式人生 > >ibatis 取消查詢動態列的緩存

ibatis 取消查詢動態列的緩存

font spa rom list clas 方法 span create sel

ibatis在查詢結果列不確定(或是動態變化)的情況下,會因為列緩存的原因導致變化後的列數據查不出來

技術分享圖片

技術分享圖片

解決方法是:

select標簽有個屬性remapResults,該屬性默認值為false,設置成remapResults="true",即可解決

<select id="selectTableDataListByPage" resultClass="java.util.HashMap" parameterClass="createTable" remapResults="true">
    SELECT * FROM (
        SELECT a.*
, ROWNUM rn FROM ( SELECT * FROM $tableName$ ORDER BY COLUMN_ID ) a WHERE ROWNUM <![CDATA[<]]> $endIndex$+1 ) WHERE rn <![CDATA[>]]> $startIndex$ </select>

技術分享圖片

註:當設置remapResults為"true"時,會造成一定的性能損失,須謹慎使用

ibatis 取消查詢動態列的緩存