Spring Boot 3.x- MybatisPlus报错解决

本文讲述了在使用SpringBoot3.2.1和MybatisPlus3.5.3.1时遇到的问题,发现是两者之间的适配问题。解决方法是升级到mybatis-plus-spring-boot3-starter3.5.5版本。

目录

运行环境

JDK 17
SpringBooot 3.2.1

依赖

<!--        mysql驱动-->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
<!--        mybatis plus-->
        <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.3.1</version>
    </dependency>

配置

application.yaml

entity类和mapper类

在这里插入图片描述
在这里插入图片描述

测试类

test

运行出现问题

在这里插入图片描述
MyBtis Plus的依赖和SpringBoot的适配有问题将它更换即可

解决

		<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.5</version>
        </dependency>

运行结果
在这里插入图片描述

### 关于 `com.baomidou.mybatisplus` 的错误解决方案 当遇到与 `com.baomidou.mybatisplus` 相关的错误时,通常可以通过调整项目配置和依赖关系来解决问题。以下是针对特定错误的具体解决方法。 #### 错误:程序包 `com.baomidou.mybatisplus.core.exceptions` 不存在 此问题可能是由于缺少必要的 MyBatis-Plus 依赖项引起的。为了确保所有必需组件都已正确引入,建议检查并更新项目的 Maven 或 Gradle 配置文件中的依赖列表[^1]: 对于 Maven 用户来说,应该确认已经包含了如下所示的核心启动器以及分页插件的相关依赖: ```xml <!-- mybatis-plus集成依赖包 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency> <!-- mybatis-plus分页插件 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId> <version>3.4.0</version> </dependency> ``` #### 错误:Type `com.baomidou.mybatisplus.extension.ddl.IDdl` not present 此类异常通常是由于版本不兼容造成的。如果应用程序正在使用较新的 Spring Boot 版本,则可能需要升级到最新版的 MyBatis Plus 来匹配它。此外,在某些情况下,清理本地仓库缓存也可能有助于消除该类问题[^3]。 尝试执行以下命令清除本地 maven 缓存后再重新构建工程: ```bash mvn clean install -U ``` #### 错误:&#39;getBaseMapper()&#39; 方法冲突 这个错误表明 ServiceImpl 中定义的方法签名与其父接口 BaseMapper 存在矛盾之处。这主要是因为两个地方使用的泛型参数类型并不一致所致。要修正这个问题,请仔细核对 Mapper 接口和服务实现类之间的关联,并保持它们之间的一致性[^4]。 例如,假设有一个实体 User 和对应的 DAO 层接口 IUserDao 继承自 BaseMapper<User>,那么服务层应当像下面这样编写: ```java public interface IUserService extends IService<User> { } @Service public class UserServiceImpl extends ServiceImpl<IUserDao, User> implements IUserService { } ``` 通过以上措施可以有效减少因 MyBatis Plus 使用不当而引发的各种编译期或运行时错误。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值