MyBatis一级缓存,二级缓存,自定义缓存
来源:互联网 发布:淘宝号怎么升级快 编辑:程序博客网 时间:2024/05/01 16:04
像Hibernate一样,MyBatis也提供了缓存机制,一级缓存和二级缓存
一级缓存是在SqlSession的缓存,当Sqlsession关闭时,一级缓存也就结束了,一般在web应用中由于各种原因,一级缓存一般派不上用场
mybatis自身提供了二级缓存,需要在映射文件里加入<cache/>這個元素
根据官方文档:
我们必须配置一个元素在配置文件中
二级缓存是定义在Mapper级别的,离开了同一个Mapper namespace那么也就失效了
当然mybatis的二级缓存一般不能满足我们的需要,那么我们可以自定义缓存
这里以Ehcache为例子,我们要引入2个jar包
第二个包里已经提供了一个实现了cache接口的类了,然后我们需要在映射文件里配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="Mapper.StudentMapper"><cache type="org.mybatis.caches.ehcache.EhcacheCache"><property name="memoryStoreEvictionPolicy" value="LRU"/></cache> <select id="selectOneStudent" resultType="Model.Student" useCache="true" flushCache="false">select * from student where id =#{id} </select></mapper>
我们还需要导入ehcache.xml配置文件,我翻了一下实现了cache接口的类的源码,里面有几个简单设置可以让我们去设置
下面给出相关源码:
可以看看人家的注释!
对了,使用缓存的时候记得配置useCache 和 flushCache 2个属性
以下是百度上讲mybatis比较好的文章:
http://www.360doc.com/content/15/1205/07/29475794_518018352.shtml
http://blog.csdn.net/isea533/article/details/44566257
0 0
- mybatis一级缓存、二级缓存和自定义二级缓存
- MyBatis一级缓存,二级缓存,自定义缓存
- MyBatis一级缓存,二级缓存
- MyBatis 一级缓存,二级缓存
- mybatis一级缓存二级缓存
- mybatis:一级缓存And二级缓存
- mybatis一级缓存和二级缓存
- MyBatis(4)一级缓存,二级缓存
- Mybatis 一级缓存和二级缓存
- MyBatis一级缓存和二级缓存
- mybatis 一级缓存和二级缓存
- Mybatis一级缓存和二级缓存
- mybatis一级缓存、二级缓存初探
- Mybatis一级缓存与二级缓存
- MyBatis缓存分为一级缓存和二级缓存
- MyBatis缓存技术(一级缓存、二级缓存)
- mybatis的缓存机制(一级缓存二级缓存)
- MyBatis之缓存(一级缓存、二级缓存)
- 学会理解和解决MySQL乱码问题
- 移植PPP2.4.5到ARM上实现拨号
- 【编码】字符集与编码意义与关系、java编程编码问题相关学习笔记
- Extjs隐藏表单字段
- Java发送邮件
- MyBatis一级缓存,二级缓存,自定义缓存
- Eclipse汉化教程
- ubuntu less分页查看log文件
- 操作系统内存管理概述
- 2016年博客汇总
- 小笔记3
- swift UIProgressView
- Webpack常用配置、插件总结
- Java实现区域内屏幕截图示例