栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

No MyBatis mapper was found in ‘[xx.mapper]‘ package. Please check your configuration.特殊处理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

No MyBatis mapper was found in ‘[xx.mapper]‘ package. Please check your configuration.特殊处理

先直接上处理办法,再述说原因

我的处理方式是:

直接在项目内某个路径下建个接口加上@Mapper注解


特别注意:这个接口不能在@MapperScan注解定义的basePackage路径下

否则即使去除了标题所示的告警,又会出现一个新告警:Skipping MapperFactoryBean with name xxx Bean already defined with the same name!

原因是:

由于启动时,spring boot的默认basePackage会被mybatis-plus的自动配置拿来作为基目录去扫描是否有注解了@Mapper的接口要被注册到spring 容器,如果没有这个注解,则会报[No MyBatis mapper was found in xx]

注意这个接口不能在@MapperScan定义的路径下,如果在虽然是去掉了上面的warn,却会有一个新warn[Skipping MapperFactoryBean with name xx  Bean already defined with the same name]
原因是
当@Mapper 与@MapperScan注解都存在,且@Mapper定义的接口就在@MapperScan定义的接口的basePackage路径下则会产生两次扫描创建bean。
第一次扫描是mybatis-plus的basePackage(会自动取spring boot的应用启动路径作为basePackage)下的@Mapper会注册为bean
第二次扫描是mybatis根据@MapperScan定义的basePackage路径的所有接口都注册为bean,
如果第一次扫描的@Mapper在@MapperScan定义的路径内,第二次扫描会发觉bean已存在,报告警
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737357.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号