周梦康 发表于 2021-11-11 97 次浏览 标签 : Mybatis

发现一个项目启动的时候一直出现

Skipping MapperFactoryBean with name 'xxMapper' and 'xx' mapperInterface. Bean already defined with the same name! 

然后执行动态 sql 的时候也一直报错

Error invoking SqlProvider method (tk.mybatis.mapper.provider.SpecialProvider.dynamicSQL)

看了官方文档 https://github.com/abel533/Mapper/wiki/faq 并不能解决我的问题,其实 debug 下也不麻烦,找到 tk.mybatis 的源码,根据提示的关键字定位到


居然是重复存在了,肯定是这个 bean 提前注册了,所以根据日志里的 xxMapper 做一个条件判断


根据这里的提示就知道是哪里提前注册bean了,原来有个配置类里面引入了 mybatis 默认的 mapper 扫描注解,把那个地方的改成 tk 的,问题得到解决。

👇 下面是我的公众号,高质量的博文我会第一时间同步到公众号,给个关注吧!

评论列表