mybatis一级缓存和二级缓存?
- 一级缓存(本地缓存)
1.mybatis一级缓存是SqlSession级别的缓存
,
2.在操作数据库的时候需要构造sqlsession对象,在对象中有一个数据结构(HashMap)用于存储数据。
3.不同的Sqlsession之间的缓存数据区域是互相不影响的,是独立的
4.一级缓存是框架默认为我们开启的
,我们不需要做任何配置
//key:statementId和sql语句例图:
//value:查询结果
文章图片
- 二级缓存(全局缓存)
二级缓存是mapper级别的缓存,多个Sqlsession去操作一个mapper.xml语句,多个sqlseesion共用一个二级缓存,
//key:hashCode + statementId + SQL语句【java|mybatis一级缓存和二级缓存的区别()】开启二级缓存步骤:
//value:查询结果
- 1.先在mybatis的配置文件中加入:
>
name="cacheEnabled" value="https://www.it610.com/article/true" />
- 2.在对应的mapper.xml文件中加入
cache
标签
- 3.让使用二级缓存的entity类实现
Serializable接口
推荐阅读
- 缓存|mybatis一级缓存和二级缓存的区别
- Mybatis|MyBatis一级缓存和二级缓存命中场景
- mybatis|mybatis一级缓存和二级缓存原理
- Java|mybatis的一级缓存和二级缓存
- 缓存|MyBatis一级缓存和二级缓存
- Java集合知识点总结和重点源码分析
- 数据库|Mysql高级篇
- 同事写了一个责任链模式,bug 无数...
- java实战开发|阿里巴巴《Java开发手册(黄山版)》阅读笔记