**
一.延迟加载
**
1.什么时延迟加载?
只有在真正使用数据时才发起查询,不用的时候不查询,按需加载(也称懒加载).
在对应的的四种表关系中:一对多,多对一,一对一,多对多。
一对多,多对多:通常情况下我们都是采用延迟加载。
多对一,一对一:通常情况下我们都是采用立即加载。
2.使用延迟加载
二. mybaits缓存
1.什么时缓存?
存在于内存的临时数据。
2.为什么使用缓存?
减少和数据库的交互次数,提高执行效率。
3.什么样的数据能使用缓存,什么数据不能用使用。
适用于缓存:
经常查询而且不经常改变的数据。
数据的正确性对最终结果影响并不大。
不适用于缓存:
经常改变的数据。
数据的正确性对最终结果影响很大。
Mybatis中的一级缓存和二级缓存
- 一级缓存:
它指的是Mybatis中sqlSession对象的缓存。当我们执行查询之后,查询的的结果会同时存入到SqlSession为我们提供的一块区域中。该区域的结构是一个Map。当我们再次查询同样的数据是,mybatis会先到sqlSession中查询是否有。有的话直接拿出来使用。当sqlSession对象消失时,mybatis的一级缓