`

转载:MyBatis的缓存配置(Cache)

 
阅读更多

转载:http://blog.csdn.net/woshisap/article/details/6825714

 

一、MyBatis的Cache配置
1、全局开关:默认是true,如果它配成false,其余各个Mapper XML文件配成支持cache也没用。
<settings>
         <setting name="cacheEnabled" value="true"/>
</settings>

2、各个Mapper XML文件,默认是不采用cache。在配置文件加一行就可以支持cache:
 

<cache />
如: 
<mapper namespace="com.xx.list">
           <cache type="org.mybatis.caches.ehcache.EhcacheCache"/>
           <select>
           </select>
</mapper>


3、Mapper XML文件配置支持cache后,文件中所有的Mapper statement就支持了。此时要个别对待某条,需要:
//useCache=“false” 不支持 
<select id="inetAton" parameterType="string" resultType="integer" useCache=“false”> 
select inet_aton(#{name})
</select>

二、注意的几个细节
1、如果readOnly为false,此时要结果集对象是可序列化的。
<cache readOnly="false"/>

2、在SqlSession未关闭之前,如果对于同样条件进行重复查询,此时采用的是local session cache,而不是上面说的这些cache。

3、MyBatis缓存查询到的结果集对象,而非结果集数据,是将映射的PO对象集合缓存起来。

说意义不大是在于:
a、面对一定规模的数据量,内置的cache方式就派不上用场了;
b、对查询结果集做缓存并不是MyBatis框架擅长的,它专心做的应该是sql mapper。采用此框架的Application去构建缓存更合理,比如采用OSCache、Memcached啥的。
分享到:
评论

相关推荐

    36道面试常问的MyBatis面试题!.docx

    MyBatis的缓存分为一级缓存和二级缓存,一级缓存放在session里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中...

    从0到1项目搭建-集成 Redis 配置MyBatis二级缓存

    基于 SpringBoot 从0搭建一个企业级开发项目,基于SpringBoot 的项目,并集成MyBatis-Plus、Redis、Druid、Logback ,并使用 Redis 配置 MyBatis 二级缓存。

    mybatis面试题专项

    MyBatis的缓存分为一级缓存和二级缓存,一级缓存放在session里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中...

    Mybatis缓存机制案例

    通过log4j打印来查看mybatis缓存实现的机制, 原博客http://blog.csdn.net/zouxucong/article/details/68947052

    Java商城后台管理系统,接私活利器.zip

    缓存框架:J2cache、Redis 日志管理:LogBack 工具类:Apache Commons、HuTools 视图框架:Spring MVC 定时器:Quartz 数据库连接池:Druid 日志管理:logback 页面交互:layui 下拉框:bootstrap-select 文件上传:...

    mybatis:mybatis源码阅读

    Mybatis mybatis源码阅读 配置 配置都在配置类 映射代理 映射器代理 3.3.1版本后ExecutorType为简单,重复使用...开启mapper文件中需要设置&lt;cache&gt;标签,指定类型,逐出,flushInterval等属性 Mybatis春天 @MapperSc

    mybatis-enhanced-cache源码和jar包

    mybatis缓存增强插件,提供细粒度管理缓存的功能

    基于Spring Cloud+Vue的班级事务管理系统源码+详细项目说明.zip

    缓存:Redis 文件存储:FastDFS ORM:MyBatis-Plus 具体技术栈如下: 后端使用的技术栈 Spring Cloud Spring Security FastDFS MySql Redis Spring Cache MyBatis-Plus ... 前端使用的技术栈 Vue.js axios ...

    mybatis二级缓存

    NULL 博文链接:https://zw7534313.iteye.com/blog/2404278

    redis-cache-mybatis

    redis做mybatis的缓存,可以直接拿来用

    个人简历管理信息系统.zip

    所涉及的相关的技术有: ...缓存框架:J2Cache 数据库: MySQL 5.7.9 或者 MySQL 8.0.19 定时器:采用xxl-jobs项目进行二次改造 前端:vue 持久层框架: Mybatis-plus 代码生成器:基于Mybatis-plus-generator自定义

    Mybatis源码分析七之Cache缓存.pdf

    Mybatis源码分析七之Cache缓存

    humbrown:以spring+mybatis为框架的jee开发基础包,提供用于开发业务对象、dao、service、缓存、安全等业务的基类对象和相关工具类

    项目选型:MVC框架:Spring mvc,使用Thymeleaf渲染view应用层:Spring 3持久层:Mybatis 3缓存:Spring Cache,提供redis缓存实现安全框架:Shiro,提供基于数据库的Realm及Principal基类,可采用框架提供的Ehcache...

    Mybatis整合第三方缓存ehcache.docx

    解读: 1、客户从数据库获取数据视...5、由于mybatis的缓存只用了map实现,所以mybatis允许缓存由第三方缓存来实现,并定义了cache接口,第三方只要实现该接口即可,和mybatis整合在一起后由mybatis在程序中进行调用;

    fhs-framework快速开发平台-其他

    fhs-framwork是一个集成了国内外诸多优秀开源项目的快速开发平台,除了在常规快速开发平台提供用户,角色,权限,...缓存:jetcache+spring data cache 分布式任务:shedlock 文档:swagger 演示账号密码:admin 123456

    MyBatis SQL映射文件

    MyBatis 真正的强大在于映射语句,专注于SQL,功能强大,SQL映射的配置却是相当简单 SQL映射文件的几个顶级元素(按照定义的顺序) 1.mapper - namespace 2.cache - 配置给定命名空间的缓存 3.cache-ref – 从其他...

    springboot-redis-mybatis:redis实现mybatis的二级缓存

    redis实现mybatis的二级缓存 springboot 2.0.1.RELEASE 关键点: 1.自己实现的二级缓存,必须要有一个带id的构造函数,否则会报错。 2.我们使用Spring封装的redisTemplate来操作Redis。 网上所有介绍redis做二级缓存...

    MyBatis二级缓存Cache Hit Ratio始终等于0

    MyBatis二级缓存Cache Hit Ratio始终等于0问题描述问题排查最终结论 问题描述 在MyBatis中,不同SqlSession作用域中开启了两个相同的查询操作。但是在控制台的输出中一直显示没有命中缓存,持续进行SQL查询操作。 ...

    mybatis学习笔记

    6.1 mybatis缓存介绍 59 6.2 一级缓存 60 6.2.1 原理 60 6.2.2 测试1 61 6.2.3 测试2 61 6.3 二级缓存 62 6.3.1 原理 62 6.3.2 开启二级缓存: 62 6.3.3 实现序列化 63 6.3.4 测试 63 6.3.5 禁用二级缓存 63 6.3.6 ...

Global site tag (gtag.js) - Google Analytics