Mybatis-Plus: Entity层的创建

以 Train 这个表为例:

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "train")
public class Train {
    @TableId(value = "id", type = IdType.AUTO) //主键策略:自增长
    private Long id;
    @TableField(value = "name")
    private String name;
    @TableField(value = "classes_id")
    private Long classesId;
    @TableField(value = "begin_time")
    private String beginTime;
    @TableField(value = "end_time")
    private String endTime;
    @TableField(value = "company_id")
    private Long companyId;
    private String address;
    private String uptime;
    private Integer status; //默认值为1
}

 

@TableName

  这个注解用于标识该类对应数据库的表名。这里 Train类在数据库中的映射就是 train表。主要就是使用value这个值,其余的值可以参照手册。

@TableId

  该注解用于标识一个属性为主键,其中value是数据库对应的属性名,type是主键的增长方法。IdType.AUTO就是主键的自增长模式。

@TableField

  该注解用于标识属性与数据库属性之间的映射,比如companyId,对应数据库里的属性名为 company_id,两者不同,需要用 @TableField标识一下,如果不写这个注释,那么默认为类里的属性和数据库里的属性名字相同。

@Data

  为每个属性提供 get、set 和 toString 方法,这样可以简化代码。

@Builder

  使该对象可以使用build方法来构建,而不需要使用构造器。

        //调用builder方法,构造必须元素
        Train train = Train.builder()
                .name(name)
                .classesId(classesId)
                .beginTime(beginTime)
                .endTime(endTime)
                .companyId(companyId)
                .address(address)
                .status(Status.EXIST)
                .uptime(String.valueOf(System.currentTimeMillis()))
                .build(); //以builder开始,以build结尾

 

  还有一个值得注意的问题是:数据库的字段的数据类型与Java数据类型的对应关系 ——  INTEGER UNSIGNED 与 BIG INT 对应的是 Long,而 TINYINT UNSIGNED (TINYINT) 对应的是 Integer

 

posted @ 2022-03-01 16:31  Acc22222222  阅读(643)  评论(0)    收藏  举报