二级缓存

创建两个SqlSession,获取两个mapper后,先后调用同一个方法执行同一条SQL,查看日志中输出SQL语句执行的次数,会发现两条SQL执行


对于不同的SqlSession对象,缓存是不能共享的,为了让SqlSession对象之间能够共享相同的缓存,有时需要开启二级缓存

实现二级缓存

要求POJO是一个可序列化的对象,必须实现java.io.Serializable接口

映射文件上加入

加入cache后,mybatis就会对命名空间下所有的select元素SQL查询结果进行缓存,而其中的insert,delete,update语句在操作时会刷新缓存。