时间:2020-10-04 14:42:50 | 栏目:JAVA代码 | 点击:次
1.Mybatis默认的缓存配置
MyBatis 包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制。
Mybatis缓存包含全局的缓存和局部的缓存,全局的缓存可以讲主配置文件的setting属性的参数cacheEnabled设置为true(好吧,默认为true),局部的二级缓存默认情况下是没有开启的,要开启二级缓存,你需要在你的 SQL 映射文件中添加一行:<cache/>
eviction(回收策略) 默认的是 LRU。可选择项有FIFO,SOFT,WEAK
flushInterval(刷新间隔)可以被设置为任意的正整数,而且它们代表一个合理的毫秒 形式的时间段。默认情况是不设置,也就是没有刷新间隔,缓存仅仅调用语句时刷新。
size(引用数目)可以被设置为任意正整数,要记住你缓存的对象数目和你运行环境的 可用内存资源数目。默认值是 1024。
readOnly(只读)属性可以被设置为 true 或 false。只读的缓存会给所有调用者返回缓 存对象的相同实例。因此这些对象不能被修改。这提供了很重要的性能优势。可读写的缓存 会返回缓存对象的拷贝(通过序列化) 。这会慢一些,但是安全,因此默认是 false。
2.Mybatis添加Ehcache
Mybatis添加第三方缓存组件支持只需要在sql映射文件中添加一行:
<cache type="org.mybatis.caches.ehcache.EhcacheCache"/>
当然你可以选择配置自己的属性,你可以选择配置<cache>的子属性<property>来设置具体的参数,也可以过配置class路径下ehcache.xml来完成配置;
配置的属性跟Hibernate配置Ehcache相同,你可以查看我的上一篇blog。
当然同样如果你需要记录日志的话,你可以用
<cache type="org.mybatis.caches.ehcache.LoggingEhcache"/> 代替 <cache type="org.mybatis.caches.ehcache.EhcacheCache"/>