使用MyBatis缓存
MyBatis缓存分为l1缓存和l2缓存,l1缓存默认处于启用状态,不能关闭
对于无法关闭一级缓存的原因,MyBatis核心开发人员需要了解my batter,包括建立关联和级联映射、避免循环引用以及加速嵌套查询的重复
MyBatis提供了配置参数localCacheScope,用于控制一级缓存的级别。 此参数的值为SESSION、STATEMENT
如果为SESSION指定localCacheScope参数的值,则会为整个SqlSession启用缓存,并且只有在执行DML语句(更新语句)时才会清除缓存
如果localCacheScope的值为STATEMENT,则缓存仅对当前正在执行的语句有效,语句执行完成后缓存为空
MyBatis的l1缓存。 用户只能控制缓存的级别,而不能关闭
使用MyBatis缓存相对简单,只需要几步。
在MyBatis主配置文件中将cacheEnabled属性值指定为true
在MyBatis Mapper配置文件中,设置缓存策略、缓存刷新频率和缓存容量等属性
3 .配置映射器时,useCache属性指定在运行映射器时是否使用缓存。 也可以使用flushCache属性在MyBatis中启用l2缓存,方法是在运行Mapper后指定是否刷新缓存
执行查询操作时,查询结果为MyBatis结果集 映射相关代码 重度依赖CacheKey