pull/4/head
zhouyu 9 months ago
parent 3d9db11315
commit ec24640c5f

@ -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;
}
Loading…
Cancel
Save