缓存
Mybatis中的注解开发
1. 环境搭建
2. 单表CRUD(代理DAO的方式)
3. 多表查询操作
4. 缓存的配置
缓存的概念
1. 什么是缓存?
存在于内存中的临时数据,比如第一次查询的时候就可以存储进去.
2. 为什么使用缓存?
减少和数据库的交互次数,提高执行效率.
3.1适用于缓存:
1) 经常查询并且不经常使用
2) 数据的正确与否对最终结果影响不大
3.2不适用于缓存:
1) 经常改变的数据
2) 数据的正确与否对最终结果影响很大
3) 比如:商品的库存,银行的汇率,股市的牌价
Mybatis中的一级缓存
1. 一级缓存
- 它指的是Mybatis中SqlSession对象的缓存.
- 当我们执行查询之后,查询的结果会同时存入到SqlSession为我们提供的一块区域中.该区域的结构是一个Map.当我们再次查询同样的数据,mybatis会先去sqlSession中查询是否有,如果有就直接拿出来使用.当SqlSession对象消失时,mybatis的缓存也就消失了.
Mybatis的二级缓存
它指的是Mybatis中SqlSessionFactory对象的缓存,由同一个SqlSessionFactory对象创建的SqlSession共享其缓存
3. 二级缓存使用步骤
- 第一步:让Mybatis框架支持二级缓存(在mybatis-config.xml中配置)
- 第二步:让当前的映射文件支持二级缓存(在UserMapper.xml中配置)
- 第三步:让当前的操作支持二级缓存(select标签中配置)