例子:com.baomidou.mybatisplus.test.h2.cache.mapper.CacheMapper.insert Configuration中缓存比较多的情况:MappedStatement,ResultMap
默认情况下,比如在构建MappedStatement的时候,在会生成往缓存对象里面写入两份数据,一份是全id,另一份就是方法名为insert缓存,当shortKey不唯一的情况下,会将value值替换为Ambiguity,后面按shortKey取出值如果是Ambiguity的话,就会抛出异常基本上。
按shortKey调用的情况是比较少的,如果我们在放弃使用shortKey的时候,自定义唯一方法(方法名唯一)多的情况下,能减少50%的缓存key写入,也能规范下开发。 当关闭shortKey的时候,CacheNamespaceRef(name="cacheMapper"),这种就无法使用了,只能使用CacheNamespaceRef(name="com.baomidou.mybatisplus.test.h2.cache.mapper.CacheMapper"),不过还是用CacheNamespaceRef(CacheMapper.class)的多些。