2023-12-15 4 简介: 你尝试过在mybatis某个mapper上同时配置<cache/>和<cache-ref/>吗? 项目背景:mybatis3.4.1,mapper接口上没有任何注释,有两个对应的XXXMapper.xml和YYYMapper.xml文件,在xml文件中分别配置<cache/>和<cache-ref/>。 首先看下官方文档:<cache/>对某一命名空间的语句,只会使用该命名空间的缓存进行缓存或刷新。 但你可能会想要在多个命名空间中共享相同的缓存配置和实例。要实现这种需求,你可以使用 <cache-ref/> 元素来引用另一个缓存。 那如果在同一个xxxMapper.xml文件同时配置<cache/>和<cache-ref/>呢?这时当前命名空间是独享缓存还是与引用的缓存共享? 这里先说结论:独享缓存还是共享缓存要根据mybatis解析XXXMapper.xml和YYYMapper.xml文件的次序! 【1】项目背景 接口有一些crud方法,没有任何注解 DepartmentMapper.xml文件缓存配置如下:...