Mybatis中的一级缓存、二级缓存

部分内容

mybatis中一级缓存应用位置
image
mybatis中二级缓存应用位置
image
MyBatis中二级缓存readOnly属性分析
image

1.当readOnly为true时,sqlSession对象会将查询结果直接存储到cache,在cache中是一个Map集合,最终结果指向用一个对象,所以result1==result2,地址值比较为true
result1.equals(result2) 属性值比较也为true
2当readOnly为false时,会将对象转化为字节(序列化)存储到cache,在cache中是一个Map集合,接着会进行反序列化操作,所以指向的是不用对象但内容相同。result1==result2,地址值比较为false
result1.equals(result2) 属性值为true

Mapper文件中readOnly的添加位置
image

阅读 179

推荐阅读