mybatis清除一級緩存的幾種方式
mybatis清除一級緩存方式
1、手動清空
sqlSession.clearCache()
2、Options注解
public interface UserMapper{ @Options(flushCache= Options.FlushCachePolicy.TRUE) User selectById(@params("id")Integer id) }
3、調(diào)用了修改的方法時(shí),底層直接調(diào)用sqlSession.clearCache()一次性全部清空
4、在setting中關(guān)閉一級緩存
locaCacheScope = STATEMENT
5、手動提交/回滾
mybatis一級緩存何時(shí)失效
mybatis的一級緩存是 SqlSession 級別的緩存,它存在于 SqlSession 的生命周期內(nèi),當(dāng) SqlSession 關(guān)閉時(shí),一級緩存也會隨之失效。
具體來說,一級緩存可能失效的情況包括:
- SqlSession 執(zhí)行 clearCache() 方法,顯式地清空緩存。
- SqlSession 執(zhí)行 close() 方法,關(guān)閉 SqlSession 時(shí),所有的一級緩存數(shù)據(jù)都會被銷毀。
- SqlSession 開始一個(gè)事務(wù)后,如果事務(wù)被提交或者回滾則會清空當(dāng)前 SqlSession 對應(yīng)的所有的一級緩存。
- SqlSession 在執(zhí)行 insert, update, delete 等更新操作時(shí),會清空當(dāng)前 SqlSession 對應(yīng)的所有的一級緩存。因?yàn)檫@些操作可能會對查詢結(jié)果產(chǎn)生影響,緩存數(shù)據(jù)無效。
總之:
我們在使用 MyBatis 的時(shí)候,需要充分了解一級緩存的實(shí)現(xiàn)原理和失效情況,避免因?yàn)榫彺鎲栴}導(dǎo)致程序運(yùn)行出現(xiàn)錯(cuò)誤。
如果遇到緩存失效的問題,可以通過修改配置文件或者手動清空緩存等措施來解決。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
哲學(xué)家就餐問題中的JAVA多線程學(xué)習(xí)
哲學(xué)家就餐問題是1965年由Dijkstra提出的一種線程同步的問題,下面我們就看一下JAVA多線程如何做2013-11-11Java SimpleDateFormat中英文時(shí)間格式化轉(zhuǎn)換詳解
這篇文章主要為大家詳細(xì)介紹了Java SimpleDateFormat中英文時(shí)間格式化轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12java中map和對象互轉(zhuǎn)工具類的實(shí)現(xiàn)示例
這篇文章主要介紹了java中map和對象互轉(zhuǎn)工具類的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08EasyExcel實(shí)現(xiàn)讀取excel中的日期單元格并自動判定終止讀取
這篇文章主要為大家詳細(xì)介紹了EasyExcel如何實(shí)現(xiàn)讀取excel中的日期單元格并自動判定終止讀取,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11Java設(shè)計(jì)模式中橋接模式應(yīng)用詳解
橋接,顧名思義,就是用來連接兩個(gè)部分,使得兩個(gè)部分可以互相通訊。橋接模式將系統(tǒng)的抽象部分與實(shí)現(xiàn)部分分離解耦,使他們可以獨(dú)立的變化。本文通過示例詳細(xì)介紹了橋接模式的原理與使用,需要的可以參考一下2022-11-11關(guān)于Jsoup將相對路徑轉(zhuǎn)為絕對路徑的方法
這篇文章主要介紹了關(guān)于Jsoup將相對路徑轉(zhuǎn)為絕對路徑的方法,jsoup 是一款Java 的HTML解析器,可直接解析某個(gè)URL地址、HTML文本內(nèi)容,需要的朋友可以參考下2023-04-04IntelliJ IDEA 中g(shù)it的使用圖文教程
本文通過圖文并茂的形式給大家介紹了IntelliJ IDEA 中g(shù)it的使用,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-02-02