mybatis的一级缓存是sqlSession级别的,支持同一个sqlSession下的缓存。
一级缓存分为两个部分
**注意:**如果想要支持一级缓存,必须保证这些sql语句全部执行完,再去commit(),也就是说需要放到一个事务中去执行。
一级缓存中,是一个sqlSession使用一个缓存,而mybatis的二级缓存,则支持多个SqlSession之间共享缓存。mybatis默认开启二级缓存
虽然在mybatis的Configuration中已经默认开启了二级缓存,但是需要我们在mapper.xml文件中,添加cache或者cache-ref标签,进行缓存配置。
cache标签用于声明namespace使用二级缓存,并且可以通过以下属性自定义配置
PerpetualCache
cache-ref
代表引用别的命名空间的Cache配置,两个命名空间的操作使用的是同一个Cache
要想实现两个命名空间共享缓存,那么可以cache-ref标签的namespace属性引入另一个命名空间,如:
<cache-ref namespace="mapper.OrderMapper"/>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。