MyBatis学习笔记(2)--缓存
2024-09-05 07:26:17
一、什么是缓存
--存在于内存中的临时数据。
为什么使用缓存?--减少和数据库的交互次数,提高执行效率。
适用于缓存的数据:
1.经常查询并且不经常改变的数据。
2.数据的正确与否对最终结果影响较小的。
不适用于缓存的数据:
1.经常改变的数据。
2.数据的正确与否对最终结果影响很大的。如:商品的库存,银行的汇率等。
二、MyBatis中的缓存
一级缓存:指的是MyBatis中SqlSession的对象的缓存。
当我们执行查询后,查询的结果会同时存入到SqlSession为我们提供的一块区域中。该区域结构是一个Map。当我们再次查询同样的数据,MyBatis会先去
SqlSession中查询是否有,有的话直接拿出来用。当SqlSession对象消失时,MyBatis的一级缓存也就消失了。
二级缓存:指的是MyBatis中SqlSessionFactory对象的缓存。由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。
二级缓存使用:
1.让MyBatis框架支持二级缓存(在SqlMapConfig.xml配置文件中配置)。
2.在当前的映射文件中配置支持二级缓存(Mapper.xml配置文件中配置)。<cache/>
3.让当前的操作支持二级缓存(在select标签中配置)。 配置属性 useCache="true"
最新文章
- 利用python的双向队列(Deque)数据结构实现回文检测的算法
- 接口测试之HTTP协议详解
- YII实现Memcache故障转移的配置办法
- 编写javascript、Jquery的String.format();
- 反射 reflect 初始学习
- Parallax Mapping Shader 凸凹感【转】
- jquery日历datepicker的使用方法
- Fire Net(dfs)
- IE浏览器上传文件时本地路径变成”C:\fakepath\”的问题
- android LinearLayout等view如何获取button效果
- C#之委托(函数参数传递)【转】
- Linux 查询程序安装路径 是否安装
- C#解析HTML利器-Html Agility Pack
- FFT学习笔记
- JAVA 8 日期工具类
- React不同版本之间需要注意的地方
- FPGA中iic总线上,应答ACK解析
- Marlin 擠出頭溫度控制PID值校正
- Oracle_字符集问题(数据库与客户端字符集关联关系)
- 可能是全网首个支持阿里云Elasticsearch Xapck鉴权的Skywalking