缓存概述
提升运行效率(让应用程序减少对数据库的访问)
默认SqlSession缓存开启
1 | 1. 一旦你创建select标签 就会有一个对应statement对象 |
SqlSessionFactory 二级缓存
引入原因
//问题概述:
以前要是写两个sql语句两个sqlsession对象 --就会有两个缓存区域 --然后执行就会有两次执行(效率低)
//使用二次缓存:
让两个sqlsession是获取同一个factory --就只有一个大的单独的缓存区域 -- 就只有一次执行
使用注意事项
1. 有效范围:
就是同一个factory的所有SqlSession都可以获取
2. 使用范围
主要用于数据频繁使用但是很少修改
3. 使用步骤
只需要在mapper.xml的select标签中添加
<cache readOnly="true"></cache>
4. 当SqlSession对象进行close() / commit() --> sqlsession缓存的数据刷 --> SqlSessionFactory缓存区