Mybatis-plus启动警告

本文指导如何将数据库表中的id字段从原始整型改为UserRole包装配饰类,提升持久层的灵活性。通过前后代码对比,演示了如何在com.spic.project.entity.UserRole中替换基本数据类型以遵循最佳实践。

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

This primary key of “id” is primitive !不建议如此请使用包装类 in Class: “com.spic.project.entity.UserRole”

使用包装类替换基本数据类型。

  • 修改前代码:
public class UserRole implements Serializable {
    private int id;
    private String userId;
    private Byte userRole;
}
  • 修改后代码:
public class UserRole implements Serializable {
    private Integer id;
    private String userId;
    private Byte userRole;
}
### MyBatis-Plus 自动装配 Mapper 出现错误的原因分析 当遇到 `Could not autowire. No beans of 'xxxMapper' type found` 的错误时,通常意味着 Spring 容器未能找到指定型的 Bean。此问题可能由多种因素引起。 #### 版本兼容性问题 如果使用MyBatis-Plus 和其他依赖库之间存在版本匹配的情况,则可能导致组件扫描失败或接口实现缺失。建议确认所使用的各个框架版本之间的兼容关系[^2]。 #### 配置文件设置当 确保项目的配置文件中正确设置了 mapper 文件的位置路径(即 `mapper-locations` 参数)。此参数用于告知 MyBatis 去哪里查找 XML 映射文件。如果正确指定了这些位置,可能会造成映射找到相应 SQL 语句而抛出异常[^3]。 ```yaml mybatis-plus: mapper-locations: classpath*:mapper/**/*.xml ``` #### 缺少必要的注解 对于使用 Java Config 方式的项目来说,在启动上加上 `@MapperScan(basePackages = "com.example.mapper")` 可以让 Spring Boot 扫描并注册所有的 Mapper 接口作为 Beans。另外也要注意目标 Mapper 本身是否带有适当的作用域声明,比如 `@Component`, `@Repository` 或者通过 MyBatis-Plus 提供的特定注解来标记它们为持久层组件[^4]。 #### IDEA IDE 设置影响 有时即使一切看起来正常工作,但在开发工具里仍然会看到红色波浪线警告信息。这是因为某些情况下 IntelliJ IDEA 并会立即识别到新创建出来的 bean 实例。可以尝试清理缓存重启 IDE 来解决问题;或者手动触发 Maven/Gradle 构建过程使得更改生效。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

benboerdong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值