博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot 多模块项目整合 mybatis 时提示找到不 Mapper 的解决方案
阅读量:5959 次
发布时间:2019-06-19

本文共 1741 字,大约阅读时间需要 5 分钟。

版本信息:

Spring Boot 2.1.3.RELEASE

问题一:找不到 Mapper Bean

错误信息:

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.01:56:25.921 logback [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter - ***************************APPLICATION FAILED TO START***************************Description:A component required a bean of type 'com.example.boss.admin.dao.mapper.SeckillMapper' that could not be found.Action:Consider defining a bean of type 'com.example.boss.admin.dao.mapper.SeckillMapper' in your configuration.复制代码

原因:

Mapper.java 和 Mapper.xml 放在不同的 jar 包工程里,默认情况下 mybatis 只读取同一个工程里的 Mapper Bean,即便加上了 @Mapper 注释也不行。

解决方法:

在 DataSourceConfig 里增加一个 bean 来处理

/**	 * Mapper接口所在包名,Spring会自动查找其下的Mapper	 *	 * @return mapperScannerConfigurer	 */	@Bean	public MapperScannerConfigurer mapperScannerConfigurer() {		MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();		mapperScannerConfigurer.setBasePackage("**.mapper");		mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");		return mapperScannerConfigurer;	}复制代码

问题二:找不到 Mapper.xml

错误信息:

原因:

默认情况下,Mapper.xml 文件是放在 src/main/resources 目录下的,但由于用了 mybatis generator 的原因,把 xml 放在了 src/main/java 目录下,方便生成和管理。

解决方法:

在项目的 pom.xml 增加以下配置

src/main/resources
true
src/main/java
**/*.xml
复制代码

问题三:如何读取多个模块项目下的 Mapper.xml 文件?

解决方法:

解决办法就是在classpath后加一个*就解决了,如

mybatis:    mapper-locations: classpath*:mapper/*.xml复制代码

转载地址:http://tzfax.baihongyu.com/

你可能感兴趣的文章
使用组策略配置Windows 7的高级防火墙
查看>>
ZoneMinder配置与使用
查看>>
程序员,请不要抢系统管理员的饭碗
查看>>
补码[基础]
查看>>
两个乒乓球队进行比赛问题
查看>>
POJ2709 Painter 贪心算法
查看>>
oc-10-对象做参数
查看>>
Windows Azure Cloud Service (10) Role的生命周期
查看>>
二、Axis2的简单WebService示例
查看>>
接口的显示实现和隐式实现
查看>>
安装EBS前期检查工具 - RDA - Health Check / Validation Engine Guide 2 结果
查看>>
Windows Phone笔记(11)使用独立存储(下)
查看>>
currentRowChanged 的注意事项
查看>>
面试题--在一个字符串中查找重复次数最多的字符(转)
查看>>
Beam内置的数据源清单(Java、Python)
查看>>
二维数组
查看>>
Ambari集群里操作时典型权限问题put: `/home/bigdata/1.txt': No such file or directory的解决方案(图文详解)...
查看>>
Objective-C:运行时runtime
查看>>
android 项目中出现红色感叹号的解决方法
查看>>
Android硬件加速
查看>>