MyBatis mapping.xml中的flushCache和useCache的使用

AlbenXie發表於2018-07-29

1、當為select語句時:

flushCache預設為false,表示任何時候語句被呼叫,都不會去清空本地快取和二級快取。

useCache預設為true,表示會將本條語句的結果進行二級快取。

2、當為insert、update、delete語句時:

flushCache預設為true,表示任何時候語句被呼叫,都會導致本地快取和二級快取被清空。

 

3、useCache屬性在該情況下沒有:

當為select語句的時候,如果沒有去配置flushCache、useCache,那麼預設是啟用快取的,所以,如果有必要,那麼就需要人工修改配置,修改結果類似下面:

<select id="save" parameterType="XX" flushCache="true" useCache="false">  
    ……  
</select>  

update 的時候如果 flushCache="false",則當你更新後,查詢的資料資料還是老的資料。

相關文章