org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
原因:标注了@MapperScan
在 Spring Boot 中,@MapperScan
注解用于扫描 MyBatis Mapper 接口的包路径,并将其注册为 Spring Bean。在一些简单的情况下,你可能不需要显式配置 @MapperScan
注解,而是依赖于 Spring Boot 的默认配置和自动扫描机制。
Spring Boot 提供了 @SpringBootApplication
注解,该注解包含 @ComponentScan
注解,用于自动扫描应用程序的包及其子包中的组件(包括 @Controller
、@Service
、@Repository
等),而且默认情况下也会扫描 @Mapper
注解。
MyBatis 的 @Mapper
注解是 Spring Boot 可以自动扫描并注册的组件之一。因此,如果你的 Mapper 接口在 Spring Boot 应用程序的默认扫描路径或与主应用程序类(标有 @SpringBootApplication
注解的类)相同的包中,Spring Boot 会自动扫描到这些 Mapper 接口,无需显式配置 @MapperScan
注解。
解决方式一:去掉@MapperScan
解决方式二:@MapperScan(Mapper 接口的包路径)