mybatisplus与mybatis冲突解决
时间: 2025-01-23 15:07:36 浏览: 66
### 解决 MyBatisPlus 和 MyBatis 的兼容性及冲突问题
在 Spring Boot 项目中,如果同时引入了 MyBatis 和 MyBatisPlus,可能会遇到版本不兼容的问题。为了避免这些问题并确保项目的稳定运行,可以采取以下措施:
#### 更改配置文件中的命名空间
为了防止 MyBatis 和 MyBatisPlus 配置项发生冲突,在 `application.yml` 或者 `application.properties` 文件中应将所有的 MyBatis 相关配置更改为 MyBatisPlus 对应的配置[^3]。
```yaml
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
type-aliases-package: com.example.demo.entity
```
#### 移除多余的依赖
由于 MyBatisPlus 已经包含了 MyBatis 的功能,并且其内部已经集成了 MyBatis 的依赖库,因此无需额外添加 MyBatis 的 Maven/Gradle 依赖。移除显式的 MyBatis 依赖有助于减少潜在的类路径污染风险[^1]。
#### 调整 Mapper 接口继承结构
Mapper 接口中应当只继承自 MyBatisPlus 提供的基础接口(如 BaseMapper),而不再直接实现来自原始 MyBatis 的接口。这样做不仅简化了代码逻辑,而且能够充分利用 MyBatisPlus 所带来的便捷特性[^2]。
```java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface UserMapper extends BaseMapper<User> {
// 自定义查询方法...
}
```
通过上述调整,可以在很大程度上缓解甚至彻底消除两者共存所带来的各种矛盾与隐患,从而保障应用程序正常运作的同时享受 MyBatisPlus 增强版 ORM 框架的优势。
阅读全文
相关推荐


















