ibatis 列不固定,查詢結果有錯誤

遇到了一個列不固定的sql(由於需求的限制,只能本身拼sql,因此列不固定),致使查詢第二個時,查詢的sql仍是上一次查詢的sql。這個問題解決的方式就是在ibatis結果集中加入一個屬性remapResults=true sql

<select id="" parameterClass="" resultClass="" remapResults="true"> 緩存

</select> 性能

這個問題是由於你查詢的sql的列是變化的,但 是ibatis默認的會緩存RS中的meta信息,若是你第一次查詢的列和第二次查詢的列不同的話,那麼第二次ibatis還會以第一次查詢的列爲 key從RS裏面獲取數據,可是你的列是變化的,因此第二次取數據的時候,RS裏面已經沒有了你第一次的那個列了,因此會出錯。 spa

可是這樣的查詢會致使性能上有些影響,因此通常不用設置此屬性。 rem

相關文章
相關標籤/搜索