创建实体类规范
关于数据表中的字段的数据类型,与Java类中的属性的数据类型的对应关系:
数据表的字段的数据类型 | Java类中的属性的数据类型 |
---|---|
tinyint / smallint / int | Integer |
bigint | Long |
char / varchar / text 系列 | String |
date_time | LocalDateTime (Java 8) |
decimal | BigDecimal (Java 8) |
关于POJO的设计规范:
- 具有无参数的构造方法;
- 属性均声明为
private
的; - 生成所有属性对应的规范的Setter和Getter;
- 生成规范的
hashCode()
与equals()
方法;- 如果2个对象的
hashCode()
值相同,则必须保证它们equals()
对比的结果为true
;如果2个对象的hashCode()
值不同,则必须保证它们equals()
对比的结果为false
; - 通常,可以使用专业的开发工具生成这2个方法,不必关心这个方法的方法体代码。
- 如果2个对象的
- 【建议,不强制要求】生成(重写)
toString()
方法; - 实现
Serializable
接口。
使用Lombok可以简化POJO类的编写,在使用之前,需要在项目中添加依赖:
<!-- Lombok的依赖项,主要用于简化实体类的编写 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
当添加以上依赖项后,在各POJO类上,只需要添加@Data
注解,即可使得Lombok框架在编译期生成各属性对应的Setter & Getter、hashCode()
与equals()
、toString()
方法。
注意:使用Lombok时,应该(强烈推荐)在开发工具中安装Lombok插件(在IntelliJ IDEA中,点击File
> Settings
,在Plugins
中搜索Lombok
并安装),如果未安装,在调用由Lombok生成的方法,或使用相关变量时会提示错误,但不影响运行!
在src/main/java
的根包下,创建pojo.entity
子包,并在此子包下创建Brand
类:
package cn.tedu.csmall.product.pojo.entity;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class Brand implements Serializable {
private Long id;
private String name;
private String pinyin;
private String logo;
private String description;
private String keywords;
private Integer sort;
private Integer sales;
private Integer productCount;
private Integer commentCount;
private Integer positiveCommentCount;
private Integer enable;
private LocalDateTime gmtCreate;
private LocalDateTime gmtModified;
}