今天写项目使用saveOrUpdate的时候报了如下错误
com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: error: can not execute. because can not find column for id from entity!
排查后发现是我的entity没有添加主键注解 @TableId
导致saveOrUpdate时找不到主键报错
...
public class Admin implements Serializable {
//在为主键的字段添加此注解就可以了 如果是自增的话 type是 AUTO
@TableId(value = "phone", type = IdType.NONE)
private String phone;
...
}以下是IdType的选择
| 值 | 描述 |
|---|---|
| AUTO | 数据库 ID 自增 |
| NONE | 无状态,该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT) |
| INPUT | insert 前自行 set 主键值 |
| ASSIGN_ID | 分配 ID(主键类型为 Number(Long 和 Integer)或 String)(since 3.3.0),使用接口IdentifierGenerator的方法nextId(默认实现类为DefaultIdentifierGenerator雪花算法) |
| ASSIGN_UUID | 分配 UUID,主键类型为 String(since 3.3.0),使用接口IdentifierGenerator的方法nextUUID(默认 default 方法) |
具体可以查看官方文档注解 | MyBatis-Plus
版权声明:本文为CHENGHR_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。