|
|
|
@ -14,30 +14,44 @@ import java.util.Date;
|
|
|
|
|
* @CONTACT 317758022@qq.com
|
|
|
|
|
* @DESC 用户实体类
|
|
|
|
|
*/
|
|
|
|
|
// 使用lombok的@Data注解,它会自动帮我们生成一系列常用的方法,比如针对类中所有非静态成员变量(这里的id、username、password等)的Getter和Setter方法,方便在其他地方获取和设置这些变量的值;同时还会生成equals方法用于比较两个对象是否相等、hashCode方法用于在一些基于哈希的数据结构(如HashSet、HashMap等)中确定对象的存储位置,以及toString方法用于将对象以字符串形式展示出来,这样可以减少手动编写这些重复代码的工作量,让代码更加简洁。
|
|
|
|
|
@Data
|
|
|
|
|
// 使用lombok的@NoArgsConstructor注解,它会为这个类生成一个无参构造函数,使得在某些需要默认创建类实例的场景下(例如在进行反序列化操作,或者只是单纯想创建一个空对象后续再去设置各个属性值时)能够方便地构造出User类的对象,提高了代码的灵活性和通用性。
|
|
|
|
|
@NoArgsConstructor
|
|
|
|
|
// 使用lombok的@AllArgsConstructor注解,会为该类生成一个包含所有参数的构造函数,在创建User类对象时,可以一次性传入所有成员变量对应的参数值来初始化对象,适用于已知所有属性值并且希望一次性完成对象初始化的情况,比如从数据库查询到完整的用户数据后,使用这个构造函数快速创建对应的User对象来进行后续操作。
|
|
|
|
|
@AllArgsConstructor
|
|
|
|
|
// 使用lombok的@ToString注解,虽然@Data注解已经包含了生成toString方法的功能,但这里再次显式使用可以进一步确保按照我们期望的方式生成toString方法(如果后续对@Data注解的默认行为有修改等情况,这个注解能保证toString方法的正确生成),它会将对象的各个属性值以一定的格式拼接成字符串返回,方便在调试或者需要直观查看对象内容时使用,例如打印对象时就能看到对象各个属性的具体值情况。
|
|
|
|
|
@ToString
|
|
|
|
|
// 让这个类实现Serializable接口,表示该类的对象可以被序列化和反序列化,这在很多场景下非常有用,比如将用户对象存储到文件中、在网络中传输用户对象等情况时,通过序列化将对象转换为字节流进行存储或传输,然后再通过反序列化将字节流还原为对象,实现数据的持久化和跨网络的交互等功能。
|
|
|
|
|
public class User implements Serializable {
|
|
|
|
|
// 定义一个Integer类型的私有成员变量id,用于存储用户在系统中的唯一标识,通常对应数据库表中的主键字段,通过这个id可以在系统中准确地定位和区分不同的用户。
|
|
|
|
|
private Integer id;
|
|
|
|
|
|
|
|
|
|
// 定义一个String类型的私有成员变量username,用于存储用户的用户名,是用户登录系统或者在系统中展示的一个重要标识,一般具有唯一性,方便用户进行身份识别和操作。
|
|
|
|
|
private String username;
|
|
|
|
|
|
|
|
|
|
// 定义一个String类型的私有成员变量password,用于存储用户的登录密码,密码通常会经过加密等安全处理后存储在数据库中,在用户登录时会验证输入的密码与存储的密码是否匹配,以此来确认用户的身份合法性。
|
|
|
|
|
private String password;
|
|
|
|
|
|
|
|
|
|
// 定义一个String类型的私有成员变量email,用于存储用户的电子邮箱地址,可用于接收系统发送的通知、找回密码等功能相关的邮件信息,方便与用户进行信息沟通和交互。
|
|
|
|
|
private String email;
|
|
|
|
|
|
|
|
|
|
// 定义一个String类型的私有成员变量phone,用于存储用户的电话号码,同样可以作为一种联系方式,用于接收短信验证码、系统重要通知等,也是验证用户身份以及方便沟通的重要信息。
|
|
|
|
|
private String phone;
|
|
|
|
|
|
|
|
|
|
// 定义一个String类型的私有成员变量question,用于存储用户设置的密保问题,在用户忘记密码等情况下,可以通过回答正确的密保问题来重置密码,增加账号的安全性和找回密码的便利性。
|
|
|
|
|
private String question;
|
|
|
|
|
|
|
|
|
|
// 定义一个String类型的私有成员变量answer,用于存储用户对密保问题设置的答案,与question字段配合使用,用于验证用户身份,确保只有知道正确答案的用户才能进行密码重置等敏感操作。
|
|
|
|
|
private String answer;
|
|
|
|
|
|
|
|
|
|
// 定义一个Integer类型的私有成员变量role,用于标识用户在系统中的角色,这里通过注释说明0表示管理员角色,1表示普通用户角色,不同的角色在系统中通常具有不同的权限,例如管理员可能可以进行更多的系统管理操作,而普通用户只能进行一些常规的业务操作。
|
|
|
|
|
//角色0-管理员,1-普通用户
|
|
|
|
|
private Integer role;
|
|
|
|
|
|
|
|
|
|
// 定义一个Date类型的私有成员变量createTime,用于记录用户账号在系统中创建的时间,方便进行数据统计、审计等操作,例如查看用户的注册时间分布情况等,通常在用户注册成功时会自动设置这个时间值。
|
|
|
|
|
private Date createTime;
|
|
|
|
|
|
|
|
|
|
// 定义一个Date类型的私有成员变量updateTime,用于记录用户账号信息在系统中最后一次更新的时间,每次用户修改了自己的部分信息(如密码、邮箱等)后,都会更新这个时间值,便于跟踪用户信息的变更情况以及进行相关的数据处理和分析。
|
|
|
|
|
private Date updateTime;
|
|
|
|
|
|
|
|
|
|
}
|