电脑商城项目--注册功能

2.3 用户注册–持久层
①:选择数据表:t_user
②:创建数据表:t_user、t_address
CREATE TABLE t_user (
	uid INT AUTO_INCREMENT COMMENT '用户id',
	username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名',
	password CHAR(32) NOT NULL COMMENT '密码',
	salt CHAR(36) COMMENT '盐值',
	phone VARCHAR(20) COMMENT '电话号码',
	email VARCHAR(30) COMMENT '电子邮箱',
	gender INT COMMENT '性别:0-女,1-男',
	avatar VARCHAR(50) COMMENT '头像',
	is_delete INT COMMENT '是否删除:0-未删除,1-已删除',
	created_user VARCHAR(20) COMMENT '日志-创建人',
	created_time DATETIME COMMENT '日志-创建时间',
	modified_user VARCHAR(20) COMMENT '日志-最后修改执行人',
	modified_time DATETIME COMMENT '日志-最后修改时间',
	PRIMARY KEY (uid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE t_address (
	aid INT AUTO_INCREMENT COMMENT '收货地址id',
	uid INT COMMENT '归属的用户id',
	name VARCHAR(20) COMMENT '收货人姓名',
	province_name VARCHAR(15) COMMENT '省-名称',
	province_code CHAR(6) COMMENT '省-行政代号',
	city_name VARCHAR(15) COMMENT '市-名称',
	city_code CHAR(6) COMMENT '市-行政代号',
	area_name VARCHAR(15) COMMENT '区-名称',
	area_code CHAR(6) COMMENT '区-行政代号',
	zip CHAR(6) COMMENT '邮政编码',
	address VARCHAR(50) COMMENT '详细地址',
	phone VARCHAR(20) COMMENT '手机',
	tel VARCHAR(20) COMMENT '固话',
	tag VARCHAR(6) COMMENT '标签',
	is_default INT COMMENT '是否默认:0-不默认,1-默认',
	created_user VARCHAR(20) COMMENT '创建人',
	created_time DATETIME COMMENT '创建时间',
	modified_user VARCHAR(20) COMMENT '修改人',
	modified_time DATETIME COMMENT '修改时间',
	PRIMARY KEY (aid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
③:创建实体类基类
  • 1:通过表的结构,提取出表的公共字段,放在一个实体类的基类当中,起名:BaseEntity

  • 2:实现 Serializable接口;私有变量的get/set方法、equals和hashCode方法,toString方法或者直接使用@Data注解

  • `//实体类的基类:BaseEntity
    public class BaseEntity implements Serializable {
    private String created_user; //‘日志-创建人’,
    private Date created_time ;//‘日志-创建时间’,
    private String modified_user ; //‘日志-最后修改执行人’,
    private Date modified_time; //‘日志-最后修改时间’,
    @Override
    public String toString() {
    return “BaseEntity{” +
    “created_user='” + created_user + ‘’’ +
    “, created_time=” + created_time +
    “, modified_user='” + modified_user + ‘’’ +
    “, modified_time=” + modified_time +
    ‘}’;
    }

    @Override
    public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof BaseEntity)) return false;
    BaseEntity that = (BaseEntity) o;
    return Objects.equals(getCreated_user(), that.getCreated_user()) && Objects.equals(getCreated_time(), that.getCreated_time()) && Objects.equals(getModified_user(), that.getModified_user()) && Objects.equals(getModified_time(), that.getModified_time());
    }

    @Override
    public int hashCode() {
    return Objects.hash(getCreated_user(), getCreated_time(), getModified_user(), getModified_time());
    }

    public String getCreated_user() {
    return created_user;
    }

    public void setCreated_user(String created_user) {
    this.created_user = created_user;
    }

    public Date getCreated_time() {
    return created_time;
    }

    public void setCreated_time(Date created_time) {
    this.created_time = created_time;
    }

    public String getModified_user() {
    return modified_user;
    }

    public void setModified_user(String modified_user) {
    this.modified_user = modified_user;
    }

    public Date getModified_time() {
    return modified_time;
    }

    public void setModified_time(Date modified_time) {
    this.modified_time = modified_time;
    }
    }`

④:创建用户的实体类,需要继承BaseEntity。

注意:

  • 1:需要extends(继承) BaseEntity implements(实现) Serializable
  • 2:基本类型推荐都使用包装类
  • 3:任何的实体类都需要遵循三个方法:生成get/set方法,equals和hashCode方法,toString方法。
//用户实体类:springboot约定大于配置
public class User extends BaseEntity implements Serializable {
   
    //基本类型推荐都使用包装类
     private Integer uid ; // '用户id',
     private String username;// '用户名',
     private String password;// '密码',
     private String salt;// '盐值',
     private String phone;//'电话号码',
     private String email ;// '电子邮箱',
     private Integer gender;// '性别:0-女,1-男',
     private String avatar;// '头像',
     private Integer isDelete ;//'是否删除:0-未删除,1-已删除',改为驼峰命名法

    //任何的实体类都需要遵循三个方法:生成get/set方法,equals和hashCode方法,toString方法,


    @Override
    public String toString() {
   
        return "User{" +
                "uid=" + uid +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", salt='" + salt + '\'' +
                ", phone='" + phone + '\'' +
                ", email='" + email + '\'' +
                ", gender=" + gender +
                ", avatar='" + avatar + '\'' +
                ", isDelete=" + isDelete +
                '}';
    }

    @Override
    public boolean equals(Object o) {
   
        if (this == o) return true;
        if (!(o instanceof User)) return false;
        if (!super.equals(o)) return false;
        User user = (User) o;
        return Objects.equals(getUid(), user.getUid()) && Objects.equals(getUsername(), user.getUsername()) && Objects.equals(getPassword(), user.getPassword()) && Objects.equals(getSalt()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值