Mybatis筆記09 Mybatis快取

2021-07-29 20:06:54 字數 1548 閱讀 8626

9. mybatis快取

9.1 理解mybatis快取

正如大多數持久層框架一樣,mybatis 同樣提供了

一級快取

和二級快取

的支援1. 一級快取: 基於perpetualcache 的 hashmap本地快取,其儲存作用域為

session

,當session flush 或 close

之後,該session中的所有 cache 就將清空。

2. 二級快取與一級快取其機制相同,預設也是採用 perpetualcache,hashmap儲存,不同在於其儲存作用域為

,並且可自定義儲存源

,如 ehcache。

3. 對於快取資料更新機制,當某乙個作用域(一級快取session/二級快取namespaces)的進行了 增/改/刪(c/u/d) 操作後,預設該作用域下所有 select 中的快取將被clear。

9.2 mybatis一級快取

1) 提出需求:

根據id查詢對應的使用者記錄物件

2) 準備資料庫表和資料

create table c_user(

id int primary key auto_increment,

name varchar(20),

age int

);insert into c_user(name, age) values('tom', 12);

insert into c_user(name, age) values('jack', 11);

3) 建立表的實體類

public class user implements serializable

<?xml version="1.0" encoding="utf-8" ?>

update c_user set

name=#, age=# where id=#

5) 測試:

/*

* 一級快取: 也就session級的快取(預設開啟)

*/@test

public void testcache1()

9.3 mybatis二級快取

2) 測試

/*

* 測試二級快取

*/@test

public void testcache2()

3) 補充說明

1. 對映語句檔案中的所有select語句將會被快取。 

2. 對映語句檔案中的所有insert,update和delete語句會重新整理快取。 

3. 快取會使用least recently used(lru,最近最少使用的)演算法來收回。 

4. 快取會根據指定的時間間隔來重新整理。 

5. 快取會儲存1024個物件

//唯讀

閱讀筆記09

關於這次閱讀筆記我閱讀了兩章人月神話,畫蛇添足以及貫徹執行,這兩章大概講述了人們在工作中避免過於自信,以及執行專案經理的設計才能使乙個小組更加長久 1.盡早交流和持續溝通能使結構師有較好的成本意識,以及使開發人員獲得對設計的信心,並且不會混淆各自的責任分工。2.結構師如何成功地影響實現 i.牢記是開...

前端基礎筆記09

一 透明度 1 如果定位的盒子沒有寬高,那麼預設寬高為0 2 如果給子盒子設定寬為100 那麼子盒子的寬與父盒子一樣寬 3 透明度 opacity 不透明度 賦值 opacity 0.5 取值 在0 1之間的小數 這個屬性ie6不支援,如果在ie6中設定透明,要用 filter alpha opac...

python 學習筆記(09)

字串格式化 轉換說明符 字元 標記轉換說明符的開始 轉換標誌 可選 減號 左對齊 加號 在轉換值之前要加上正負號 空白字元 正數之前保留空格 0 零 轉換值若位數不夠用0填充 最小字段寬度 可選 轉換後的字串至少應該具有該值指定的寬度,如果是 則寬度會從值元組中讀出 點 後跟精度值 可選 如果是實數...