@TableField 是一个注解,用于标识实体类中的字段映射关系。它是 MyBatis-Plus 框架提供的注解之一,用于与数据库表字段进行映射。
在使用 MyBatis-Plus 进行数据库操作时,我们可以通过 @TableField 注解来指定实体类中的字段与数据库表中的字段之间的映射关系。该注解可以用于类的成员变量上,也可以用于类的方法上。
常见的 @TableField 注解参数包括:
- value:指定实体类字段与数据库表字段的映射关系,如果实体类字段名与数据库表字段名一致,可以省略该参数。
- exist:指定该字段是否为数据库表字段,默认为 true,表示是数据库表字段;设置为 false 则表示不是数据库表字段。
- fill:指定该字段是否为自动填充字段,用于在插入和更新操作时自动填充字段的值。
public class User {
@TableField("user_name")
private String userName;
@TableField(value = "age", exist = false)
private Integer age;
// getter and setter
}
上述代码中,userName 字段与数据库表字段 user_name 进行映射,而 age 字段并不是数据库表字段。
另外:
@TableName注解,value值指定对应的表名。
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_user")
public class User {
private Long id;
private String name;
}
@TableId注解:MyBatisPlus在实现CRUD默认会将Id作为主键,在插入数据时,使用雪花算法生成Id,如果主键不叫Id则添加功能会失败。所以@TableId有下列用法:
@TableId(value = “uid”) //value指定当前作为主键的字段
@TableId(value = “id”,type = ) //将当前属性所对应的字段作为主键
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_user")
public class User {
@TableId
private Long id;
private String name;
}