【出现频率】★★★★☆ 【学习难度】★★☆☆☆

答案:MyBatis缓存都是为了减少对数据库的操作,提高系统性能。

和Hibernate一样,MyBatis缓存也分一级缓存和二级缓存。一级缓存只是相对于同一个SqlSession的,默认是开启的。一个SqlSession会话结束,一级缓存也就结束。也就是如果SqlSession调用了close( )、clearCache( )、update( )、delete( )、insert( )等方法时,一级缓存都会结束。

MyBatis的二级缓存是应用级别或集群级别的缓存,默认是不开启的。需要进行配置才能开启,配置方法很简单,只需要在映射XML文件配置<cache/>就可开启二级缓存。

使用二级缓存时,要求返回的POJO必须是可序列化的,也就是要实现Serializable接口。