通用mapper二級快取

2021-08-21 10:47:52 字數 1076 閱讀 4211

首先需要開啟二級快取:

#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+中:

/**

* the options for the .

* the default is

*/public enum flushcachepolicy

flushcachepolicy flushcache() default flushcachepolicy.default;

很顯然,在 3.4.0+ 中的定義更合理,所以如果使用二級快取,建議公升級到比較新的版本。

hibernate二級快取

cacheconcurrencystrategy.none cacheconcurrencystrategy.read only 唯讀模式,在此模式下,如果對資料進行更新操作,會有異常 cacheconcurrencystrategy.read write 讀寫模式在更新快取的時候會把快取裡面的資料...

hibernate 二級快取

session快取 一級快取 sql查詢結果快取,由hibernate管理 sessionfactory內建快取,內建快取是hibernate自帶的,用於存放預定義的sql以及hbm.xml描述的元資料,不可解除安裝 sessionfactory外接快取 二級快取 由外部外掛程式提供,外接快取的資料...

Hibernate二級快取

hibernate的session在事務級別進行持久化資料的快取操作。當然,也有可能分別為每個類 或集合 配置集群 或jvm級別 sessionfactory級別 的快取。你甚至可以為之插入乙個集群的快取。注意,快取永遠不知道其他應用程式對持久化倉庫 資料庫 可能進行的修改 即使可以將快取資料設定為...