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

浙公网安备 33010602011771号