springboot +mybatis遇到的(no found)找不到或者找到不匹配mapper的问题

在SpringBoot中使用MyBatis-Plus时,可能会遇到与JUnit单元测试不兼容的问题,表现为Invalid bound statement (not found)错误。本文分享了一种解决方案:移除MyBatis-Plus插件,确保测试环境下的依赖清晰,避免与MyBatis框架的冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在springboot里面进行junit单元测试的时候,一直提示org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)这样的错误,苦寻答案,最后发现是添加mybatis-plus插件影响的,干掉mybatis-plus插件后,问题解决,能跑通junit

小提示:mybatis-plus是mybatis的增强版,所以要使用mybatis-plus就不用mybatis了,以免造成冲突

宝塔部署后端报错“no mybatis mapper was found”通常是由于MyBatis无法找到映射文件或接口导致的。以下是一些可能的原因和解决方法: 1. **配置文件路径错误**: - 检查`mybatis-config.xml`或Spring Boot配置文件中的Mapper XML文件路径是否正确。确保路径与实际文件位置一致。 2. **Mapper接口与XML文件匹配**: - 确保Mapper接口和XML文件的命名规范一致。例如,接口`UserMapper.java`对应的XML文件应为`UserMapper.xml`。 3. **Mapper接口未被扫描**: - 如果使用Spring Boot,确保在主应用类或配置类上使用了`@MapperScan`注解,并且注解的包路径包含所有Mapper接口。 4. **XML文件未被正确复制到输出目录**: - 检查Maven或Gradle的构建配置,确保XML文件被正确复制到输出目录(如`target/classes`或`build/classes`)。 5. **依赖未正确引入**: - 确保`pom.xml`或`build.gradle`中引入了MyBatis相关的依赖,并且版本兼容。 6. **包名和路径问题**: - 确保Mapper接口和XML文件在正确的包和目录下,并且包名和目录结构一致。 以下是一个示例配置: ```xml <!-- mybatis-config.xml --> <configuration> <mappers> <mapper resource="com/example/mapper/UserMapper.xml"/> <!-- 其他Mapper --> </mappers> </configuration> ``` ```java // Spring Boot主应用类 @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` ```xml <!-- pom.xml --> <dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <!-- 其他依赖 --> </dependencies> ``` 通过以上步骤逐一排查,通常可以解决“no mybatis mapper was found错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值