注解 @TableField 的使用笔记

@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 = IdType.AUTO) //将当前属性所对应的字段作为主键

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_user")
public class User {
	@TableId
    private Long id;
    private String name;

}

你可能感兴趣的:(Java,注解,java)