一级缓存:
mybatis默认开启的sqlSession级别的缓存,会将我们第一次查询的数据放入sqlSession中,在第二次查询时直接从sqlSession中获取。当sqlSession关闭缓存清空,执行增、删、改操作也会使一级缓存失效(如果修改的是缓存中的数据,那么当再次查询时再到缓存中取明显不合适。所以在执行了DML操作后会清空一级缓存)。
二级缓存:
二级缓存也叫全局缓存需要手动开启。他是mapper级别的缓存,解决了一级缓存的局限性,可以实现sqlsession之间的资源共享。
要启动二级缓存只需要在mapper映射文件中加,当然也可以在标签中对二级缓存进行各种设置。