Mybatis缓存和注解
学习目标
1、mybatis缓存
2、mybatis注解
学习内容
1、mybatis缓存
如何提高查询的效率?
缓存技术:第一次查询到的数据缓存到内存中,后续再次进行相同的查询时,可以直接存内存中取数据。
mybatis缓存解决方案:
一级缓存:
一级缓存默认开启的,基于SqlSession级别的缓存,每一个sqlsession之间是相互独立的。
当SqlSession执行:关闭、更新操作(增删改)、清空缓存操作时:会清空缓存;
示例:
@Test public void test1(){ SqlSession session= SessionFactory.getSession(); //接口绑定 EmpDao dao= session.getMapper(EmpDao.class); List list=dao.queryAll(); System.out.println(list); List list2=dao.queryAll(); System.out.println(list2); session.close(); }
二级缓存:
基于Application级别的缓存。操作:对应到每一个mapper(文件)
实现二级缓存步骤:
1、开启二级缓存
二级缓存默认不开启,需要在全局配置文件中开启: