首先需要開啟二級快取:
#springboot配置
mybatis.configuration.cache-enabled=true
7.1.1 只使用介面
只用介面時,只需要加乙個快取的註解,示例如下:
/**
* 只有介面時,加下面的註解即可
*/@cachenamespace
}
實體類需要實現序列化介面
對快取的詳細配置可以通過該註解提供的屬性進行配置。
介面和 xml 混合
在 xml 中定義快取:
<?xml version="1.0" encoding="utf-8"?>
在介面中配置註解引用:
/*** 定義在 xml 中的方法
** @param id
* @return
*/country selectbyid(integer id);
}
7.1.3 潛在的問題
存在@options
註解的方法:
因此如果要使用二級快取,建議 mybatis 使用比較新的版本,否則需要考慮使用 insert 後可能查詢不到的問題。
options
註解中的flushcache
區別如下:
3.3.x 以及更舊的版本中:
boolean flushcache() default false;
3.4.0+中:
/**很顯然,在 3.4.0+ 中的定義更合理,所以如果使用二級快取,建議公升級到比較新的版本。* the options for the .
* the default is
*/public enum flushcachepolicy
flushcachepolicy flushcache() default flushcachepolicy.default;
hibernate二級快取
cacheconcurrencystrategy.none cacheconcurrencystrategy.read only 唯讀模式,在此模式下,如果對資料進行更新操作,會有異常 cacheconcurrencystrategy.read write 讀寫模式在更新快取的時候會把快取裡面的資料...
hibernate 二級快取
session快取 一級快取 sql查詢結果快取,由hibernate管理 sessionfactory內建快取,內建快取是hibernate自帶的,用於存放預定義的sql以及hbm.xml描述的元資料,不可解除安裝 sessionfactory外接快取 二級快取 由外部外掛程式提供,外接快取的資料...
Hibernate二級快取
hibernate的session在事務級別進行持久化資料的快取操作。當然,也有可能分別為每個類 或集合 配置集群 或jvm級別 sessionfactory級別 的快取。你甚至可以為之插入乙個集群的快取。注意,快取永遠不知道其他應用程式對持久化倉庫 資料庫 可能進行的修改 即使可以將快取資料設定為...