mybatis学习笔记04-缓存
缓存 一级缓存 初体验: @Test public void getUserById() { UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user1 = mapper.getUserById(1); System.out.println(user1); User user2 = mapper.getUserById(1); System.out.println(user2); System.out.println(user1==user2); } 运行结果: mybatis的一级缓存是自动开启的, 效果就是再次使用数据时, 如果缓存有效, 就会从缓存中取数据, 不会查sql 一级缓存时属于sqlSession对象的, 即: 每个sqlSession都有自己的一句缓存 一级缓存无效的四种情况: SqlSession不同 第一次查询或查询条件不同, 即: 缓存中没有这个对象 sqlSession关闭, 用新的sqlSession再查 两次查询之间执行了增删改操作 二级缓存 开启二级缓存 开启全局配置 <setting name="cacheEnabled" value="true"/> 开启mapper文件的配置 <cache eviction="" flushInterval="" readOnly