微信图片_20200818200700 代码:WavePackageServiceImpl extends ServiceImpl <WavePackageWriteMapper, WavePackage> 报错:Mapped Statements collection does not contain value for ***.dbmapper.WavePackageReadMapper.insert\r\n### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for ***.dbmapper.WavePackageReadMapper.insert 企业微信截图_20200818202921

Comment From: miemieYaho

给出你的复现demo

Comment From: yliml

给出你的复现demo

没有写复现的demo; 问题背景:同一个表实体对应ReadMapper和WriteMapper; mybatis-plus在项目启动时会缓存TABLE_INFO_CACHE,这个缓存定义的是key-value的map集合。 key是表实体的namespace,所以这个TABLE_INFO_CACHE里面一个表只会加载一个mapper信息。 现在问题:Service指定了mapper ,代码:ServiceImpl; 为什么mybatisplus service封装的saveBatch等方法没有使用指定的mapper,而是用的TABLE_INFO_CACHE缓存里面的mapper。 希望有大神能明白!!