MyBatis提供了一级缓存和二级缓存
配置
说明
默认值
可选值
cacheEnabled
全局缓存的开关
true
true false
localCacheScope
本地缓存,SESSION表示执行的sql结果缓存数据可以在同一个sqlSession共享,
而STATEMENT,则同只有在单条语句会被缓存,
两条语句不能共享缓存数据
SESSION
SESSION STATEMENT
属性
eviction
回收内存策略
LRU
LRU FIFO SOFT WEAK
flushInterval
刷新间隔
没设置
大于0 (单位:ms)
size
缓存对象的数量
1024
大于0
readOnly
如果为true会返回所有调用者同一个实例,尽管提高了性能,
但是需要程序保证实例对象不被修改,如果为false,
则为读写缓存,会通过序列化返回缓存对象的一份Copy,
较慢,但是比较安全
false
type
可以指定自定义缓存,但是该类必须实现
org.apache.ibatis.cache.Cache接口
com....class
MapperA.xml
MapperB.xml
MapperC.xml
如下:

本文转自zsdnr 51CTO博客,原文链接:http://blog.51cto.com/12942149/1949793,如需转载请自行联系原作者