根据MybatisPlus官方文档的CRUD接口
主键的参数名为id
但是数据库中的主键的属性名,往往可能设置为其他字段,例如user_id
不加@TableId
程序会在数据库中查找名为id的字段,并报错
加了注释后程序才会在数据库中查找名为user_id的字段
补充:
@TableName()的作用
数据库中的用户表表名为sys_user,不加@TableName(value=“sys_user”)
程序会在数据库中查找名为user的表并报错如下
@TableField的作用
数据库中字段为user_name
java中字段为userName
使用 @TableField(value=“user_name”)
程序会在数据库中寻找属性名为user_name的字段而不是userName的字段
@TableName(value="sys_user")
public class User {
@TableId(type= IdType.AUTO)
private Integer userId;
@TableField(value="user_name")
private String userName;
private String userAccount;
@JsonIgnore //忽略某个字段不展示给前端