问题描述
做SpringBoot项目时发现一个问题,添加数据时id字段自增异常。
问题原因
@TableId注解的错误使用
错误示范:
public class User {
@TableId
private Integer id;
private String username;
@JsonIgnore
//忽略该字段,不在前端展示
private String password;
private String nickname;
private String email;
private String phone;
private String address;
}
解决方案
完善@TableId注解参数
public class User {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private String username;
@JsonIgnore
//忽略该字段,不在前端展示
private String password;
private String nickname;
private String email;
private String phone;
private String address;
}
删除异常记录,并运行以下SQL,使MySQl自动递增的id从33开始
alter table sys_user AUTO_INCREMENT=33