一级缓存
存在于SQLSession层面中,在执行 select 时被缓存
缓存清除
SQLsession 执行close()方法时;
SQLSession执行cleancach()方法时;
执行insert delete update更新数据时,会清除缓存;
二级缓存
存在SQLSessionFactory层面中,在执行select语句时被缓存下来,默认是不开启的,需要在xml文件配置****属性,MyBatis要求返回的实体类必须是可序列化的(实现Serializable)
缓存清除
通过jvm垃圾回收机制回收(SQLSessionFactory关闭时,不会被立马回收);
执行insert delete update更新数据时,会更新缓存;