缓存:内存中临时存储的数据;
防止相同查询语句多次查询;
一级缓存:
默认开启;
一级缓存跟SqlSession对象密切相关,同一个session对象缓存才可使用;
当session对象换了,或者调用clearCache()方法清除缓存;
也可以在xml局部配置,设置刷新属性,也可以让它刷新缓存;
二级缓存:
二级缓存需要手动开启
与SqlSessionFactory绑定
1.在核心配置中配置cacheEnabled 为true;
2.在局部配置中配置;
3.在局部配置中为select标签配置useCache=“true”;
4.将返回值类型序列化;
区别:
一级缓存默认开启,二级缓存需要手动开启;
一级缓存与sqlsession对象绑定,二级缓存与sqlsessionfactory绑定;
一级缓存存储对象,同一个sql语句取出来的对象是同一个;二级缓存存储对象属性,同一个sql语句取出来的对象不是同一个;