1. 关于实体类
实体类是POJO的其中一种。
POJO:Plain Ordinary Java Object,简单的Java对象。
在项目中,如果某个类的作用就是声明若干个属性,并且添加Setter & Getter方法等,并不编写其它的功能性代码,这样的类都称之POJO,用于表示项目中需要处理的数据。
以pms_album
为例,这张数据表应该有与之对应的实体类,在数据表中的字段类型与Java中的属性的数据类型的对应关系是:
MySQL中的数据类型 | Java中的数据类型 |
---|---|
tinyint / smallint / int | Integer |
bigint | Long |
char / varchar / text 系列 | String |
datetime | LocalDateTime |
decimal | BigDecimal |
关于POJO类,其编写规范是:
- 所有属性都应该是私有的
- 所有属性都应该有对应的、规范名称的Setter、Getter方法
- 必须重写
equals()
和hashCode()
,并保证:- 如果两个对象的各属性值完全相同,则
equals()
对比结果为true
,且hashCode()
值相同 - 如果两个对象存在属性值不同的,则
equals()
对比结果为false
,且hashCode()
值不同 - 如果两个对象的
hashCode()
相同,则equals()
对比结果必须为true
- 如果两个对象的
hashCode()
不同,则equals()
对比结果必须为false
- 如果两个对象的各属性值完全相同,则
- 必须实现
Serializable
接口 - 建议重写
toString()
方法,输出各属性的值
在项目中使用Lombok框架,可以实现:添加注解,即可使得Lombok在项目的编译期自动生成一些代码(例如Setter & Getter)。
关于Lombok框架的依赖项:
<!-- Lombok的依赖项,主要用于简化POJO类的编写 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
在POJO类上添加Lombok框架的@Data
注解,可以在编译期生成:
- 规范的Setter & Getter
- 规范的
hashCode()
与equals()
- 包含各属性与值的
toString()
则在项目的根包下创建pojo.entity.Album
类为:
package cn.tedu.csmall.product.pojo.entity;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 相册
*
* @author java@tedu.cn
* @version 0.0.1
*/
@Data
public class Album implements Serializable {
/**
* 记录id
*/
private Long id;
/**
* 相册名称
*/
private String name;
/**
* 相册简介
*/
private String description;
/**
* 自定义排序序号
*/
private Integer sort;
/**
* 数据创建时间
*/
private LocalDateTime gmtCreate;
/**
* 数据最后修改时间
*/
private LocalDateTime gmtModified;
}