mybatis中的快取

2021-10-14 06:05:30 字數 1212 閱讀 7938

存在於記憶體中的臨時shuju

減少和資料庫的互動次數,提高效率

它指的是mybatis中sqlsession物件的快取。當我們執行查詢之後,查詢的結果同時會存入到sqlsession為我們提供的一塊區域當中。該區域的結構是乙個map結構。當我們再次查詢同樣的資料時,mybatis會先去sqlsession物件中查詢是否有我們需要的資料,如果有的話則直接取出使用。當然,在sqlsession物件消失時,mybatis的以及快取也就同時消失了,sqlsession物件呼叫clearcache()這個方法同樣可以清空快取

mybatis當呼叫了sqlsession的修改、新增、刪除、commit()、close()等方法時就會清空一級快取。所以當我們資料庫的資料發生更改的時候,它會清空快取中的資料然後重新發起查詢

它指的是mybatis中sqlsessionfactory物件的快取。由同乙個sqlsessioinfactory物件建立的sqlsession共享快取。

讓mybatis框架支援二級快取(再sqlmapconfig.xml中配置)

讓當前對映檔案支援二級快取(再iuserdao.xml中配置)

讓當前操作支援二級快取(再select標籤中配置)

先再主配置檔案中新增settings內容

然後配置對應介面的xml檔案

新增標籤表示使對映檔案支援二級快取,然後讓select標籤支援二級快取只需要新增usecache="true"這個標籤屬性

並且注意我們的二級快取中存放的是資料,不是物件

注意:

在二級快取當中存放的是這種散裝的資料,當誰需要這個資料的時候,他就把這個資料填充到乙個對應的封裝類物件中然後把這個物件傳遞出去

MyBatis中的快取

mybatis作為持久化框架,提供了非常強大的快取特性。一般在提到mybatis快取的時候,指的都是二級快取。一級快取,即本地快取,缺省會啟用並且不能控制,可能會導致一些難以發現的錯誤。一 一級快取 public void testl1cache finally system.out.println...

Mybatis中的快取

title mybatis中的快取 tags 新建,模板,小書匠 想要了解mybatis中的快取機制,我們先來看什麼是快取,簡單來說,快取就是存在於記憶體中的臨時資料。那麼,我們為什麼要使用快取呢,就是為了減少與資料庫的互動次數,提高執行效率。那麼問題來了,什麼樣的資料適合存在於快取中呢 首先是經常...

mybatis中的快取

mybatis中的快取和hibernate的快取類似,也分為一級快取和二級快取 一級快取 為sqlsession級別的快取。預設開啟。使用同乙個sqlsession執行查詢時,會先從sqlsession的快取中去獲取資料,如果快取中不存在,再去資料庫中查詢,並將查詢結果快取到sqlsession。特...