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填充 最小字段寬度 可選 轉換後的字串至少應該具有該值指定的寬度,如果是 則寬度會從值元組中讀出 點 後跟精度值 可選 如果是實數...