Mybatis缓存
来源:互联网 发布:你有毒吧网络用语 编辑:程序博客网 时间:2024/04/29 23:17
Mybatis和Hibernate类似,同样有缓存,有一级缓存和二级缓存。
一级缓存
Mybatis通过SqlSession对数据库进行操作,所以一级缓存是SqlSession级别的缓存,即在同一个SqlSession中,操作数据库后会将查询数据放到缓存区域,当该SqlSession再次查询该数据时,将在缓存区域获得数据。若该SqlSession执行增加(insert)、修改(update)、删除(delete)操作后,commit()时将会清空缓存。
一级缓存默认开启。假如在程序中SqlSession非单例,即有多个SqlSession实例,则会出现脏数据的情况,因此此缓存只对单个SqlSession有效。使用中要保证SqlSession是单例的,即整个过程共享同一SqlSession。
二级缓存
Mybatis二级缓存是跨SqlSession的缓存,即各个SqlSession共享同一二级缓存,和一级缓存类似,SqlSession查询数据后,会将数据存储在缓存区域,当该SqlSession或者其他SqlSession再次查询该数据时,将在缓存区域获得数据。若某SqlSession执行增加(insert)、修改(update)、删除(delete)操作后,commit()时将会清空缓存。
二级缓存配置:
在SqlMapConfig.xml配置文件中,开启缓存标识,
<setting name="cacheEnabled" value="true"/>
该值默认为true,在mapper.xml中,开启mapper级别缓存。配置即可。运行程序时,可查看日志,会有缓存命中率等提示。
0 0
- MyBatis-缓存
- MyBatis 缓存
- mybatis缓存
- mybatis缓存
- MyBatis 缓存
- mybatis 缓存
- mybatis缓存
- MyBatis缓存
- MyBatis缓存
- MyBatis 缓存
- mybatis 缓存
- Mybatis缓存
- mybatis 缓存
- Mybatis缓存
- MyBatis 缓存
- mybatis缓存
- MyBatis缓存
- Mybatis缓存
- 通讯录动态版(动态内存开辟)
- 自己动手做ML算法系列(2)– Neural Network
- 基于hadoop的BI架构
- shallow copy and deep copy in Prototype Pattern
- linux下给软件创建桌面图标
- Mybatis缓存
- 架构设计:负载均衡层设计方案(4)——LVS原理
- Android View的动画机制
- SimHash算法
- IOS 上线流程
- 杂记
- hive学习总结(7)—hive性能调优
- Mac 开机自启动配置设置方法(定时任务解决方案)
- HDU 5698