报错信息
11:30:43.383 [restartedMain] WARN o.m.s.m.ClassPathMapperScanner - [warn,44] - No MyBatis mapper was found in 'com.ruoyi.web.controller.common.CaptchaController' package. Please check your configuration.
11:30:43.385 [restartedMain] WARN o.m.s.m.ClassPathMapperScanner - [warn,44] - No MyBatis mapper was found in 'com.ruoyi.system.service.ISysConfigService' package. Please check your configuration.
报错界面

这个错误的原因一般是MyBatis 在指定的包 com.ruoyi.web.controller.common下没有找到任何 Mapper 接口,通常是由于包路径配置错误或 Mapper 接口放置位置不当导致的。
以下是具体分析和解决方法:
一、错误原因解析
通常情况下 MyBatis 需要通过 @MapperScan 注解(或 XML 配置)指定Mapper 接口所在的包路径,并扫描该路径下的接口生成代理实现类。而这里配置的扫描路径是 com.ruoyi.web.controller.common,这是Controller 层的包,而控制器通常处理 HTTP 请求,并非 Mapper 接口应在的位置,因此必然扫描不到。
显然,Mapper 接口不应放在 controller 包下,扫描路径也不应指向这里。
二、解决步骤
1. 确认 Mapper 接口的正确位置
- 检查 Mapper 接口(通常以
XXXMapper.java命名,如UserMapper.java)是否放在了com.ruoyi.mapper(或其子包)下。示例:正确路径应为com.ruoyi.mapper.system.UserMapper.java。
2. 修正 @MapperScan 的扫描路径
在 Ruoyi 框架中,@MapperScan 通常配置在启动类(如 RuoYiApplication.java)上,需要将扫描路径指向 Mapper 接口所在的包:
// 错误配置(扫描了 controller 包)
@SpringBootApplication
@MapperScan("com.ruoyi.web.controller.common") // 错误路径
public class RuoYiApplication {
public static void main(String[] args) {
SpringApplication.run(RuoYiApplication.class, args);
}
}
{
{
SpringApplication.run(RuoYiApplication.class, args);
}
}

