为什么使用缓存
将从数据库中查询出来的数据缓存起来,缓存介质:内存、磁盘,从缓存中取数据,而不从数据库查询,减少了数据库的操作,提高了数据处理性能
一级缓存
mybatis默认提供一级缓存,缓存范围是一个sqlSession
在同一个sqlSession中,两次执行相同的sql查询,第二次不再从数据库查询
执行提交清除缓存:
如果第一次查询后,执行commit提交,mybatis会清除缓存,第二次查询从数据库查询。
一级缓存的原理
一级缓存采用Hashmap存储,mybatis执行查询时,从缓存中查询,如果缓存中没有从数据库查询。
如果该SqlSession执行commit()提交,清除缓存。