Mybait缓存机制
MyBatis同大多数ORM框架一样,提供了一级缓存和二级缓存的支持。 一级缓存:其作用域为session范围内,当session执行flush或close方法后,一级缓存会被清空。 二级缓存:二级缓存和一级缓存机制相同,但是可以自定义其作用范围,如Ehcache。 一级缓存 在默认情况下mybatis中的一级缓存是开启的,一级缓存只在同一个SqlSession中有效不可以跨SqlSession。 @Test public void testcache(){ /** * 测试一级缓存 */ SqlSession session1 = sqlSessionFactory.openSession(); EmployeeMapper employeeMapper = session1.getMapper(EmployeeMapper.class); List<Employee> list1 = employeeMapper.findAll(null); System.out.println(list1); List<Employee> list2 = employeeMapper.findAll(null);//不发送语句 System.out.println(list2); } SqlSession调用clearCache()清除缓存,或者在执行增删改操作后