學習Mybatis中的快取以減少對資料庫的蹂躪

2022-05-06 02:24:08 字數 502 閱讀 4032

一、一級快取

通過mybatis自帶快取,且預設開啟一級快取,不開啟二級,當使用同樣的sqlsession物件查詢相同資料時,只有第一次查詢會向資料庫傳送查詢語句,並將查詢結果放入session快取中,之後查詢相同資料時,直接在快取中取用即可。

commit可以清除快取。

二、當二個或多個sqlsession物件查詢相同資料時,那麼可以開啟二級快取。

在conf.xml檔案中的開啟日誌setting標籤下,新增標籤

即可。然後執行,會出現序列化問題。

然後我們將會涉及到的實體類全部序列化,在實體類新增介面。

implements serializable。

之後在測試類中:

public static void queryperson2_yijihuancun2() throws ioexception

只查了一次。再次減少了對資料庫的蹂躪。- .-

注意:二級快取的適用範圍是同乙個namespace。

MyBatis學習 快取

將資料存放在程式記憶體中,極大地提公升了程式讀寫資料的速度 mybatis提供快取,用於減輕資料查詢的壓力,提高效能 sqlsession級別的快取 每個session對應乙個快取 一級快取是sqlsession級別的快取。在運算元據庫時需要構造 sqlsession物件,在物件中有乙個 記憶體區域...

mybatis學習 快取

一級快取 1.首先讓我們來證明一級快取的存在。使用者持久層dao 我們可以發現,雖然在上面的 中我們查詢了兩次,但最後只執行了一次資料庫操作,這就是 mybatis 提供給我們的一級快取在起作用了。因為一級快取的存在,導致第二次查詢 id 為 55 的記錄時,並沒有發出 sql 語句從資料庫中查詢資...

Mybatis學習 快取

一級快取 sqlsession級別 一級快取也叫本地快取。在mybatis中,一級快取是預設開啟的。一級快取只存在於乙個連線開啟與關閉之間。在乙個連線開啟與關閉之間的查詢結果會,存在一級快取中。下一次再次查詢此物件會直接從快取中取出,而不再經過sql語句查詢。測試1 由上圖可以看出,在同乙個連線中,...