【全栈】SprintBoot+vue3迷你商城(2)
1.对象的创建
商城主要分为两种对象:用户与商品
用户
首先我们需要看看用户有哪些属性
主键id是必不可少的
其次就是用户名
由于用户又分为普通用户和商家,所以有用户类型
然后就是登录时所需要的密码
其次就是用户头像
而且用户有添加购物车的功能,所以有自己的购物车
然后就是一些其他的信息,比如说电话号码
然后就是数据库默认的createTime 和updateTime
所以可以很轻松的写出代码:
java
package com.janium.minimallbe.pojo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class User {
@NotNull
private Integer id;
private String username;
private String userType;
@JsonIgnore
private String password;
private String phoneNumber;
private String userPic;
private String cartIdList;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}
商品
主键id必不可少
然后就是商品名称 ,商品图片 ,商品价格
而且,商品是商家发出的,所以有一个商家ID,这样既能让用户可以知道这个商品是哪个商家的,又能让商家知道自己发出了哪些商品
最后就是数据库默认的createTime 和updateTime
java
package com.janium.minimallbe.pojo;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class Goods {
private Integer id;
private String goodsName;
private String goodsImgUrl;
private float goodsPrice;
private Integer merchantId;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}
按理来说创建完之后就可以写功能接口了
不过在那之前,我们还需要做一些准备工作
响应结果
我们访问一个网址、实现一个接口时,都会有响应结果。所以我们开发接口之前还需要定义一个响应接口的对象
响应结果无非就是两个:
成功与失败
- 成功:返回成功的code:0,返回信息'操作成功',如果有一些数据需要返回那就返回一些数据
- 失败:返回失败code:1,返回错误信息
java
package com.janium.minimallbe.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result<T> {
private Integer code;
private String message;
private T data;
public static <T> Result<T> success(T data) {
return new Result<T>(0, "操作成功", data);
}
public static Result success() {
return new Result(0,"操作成功",null);
}
public static <T> Result<T> error(String message) {
return new Result(1,message,null);
}
}
2.数据库及表的创建
创建好了对象,就得创建对应的数据库
这里创建时需要注意商品表的merchantId字段要加一个外键约束,因为它是用户表里面的主键。
注意 :这里数据库使用的是MySQL
sql
CREATE DATABASE mini_mall;
use mini_mall;
create table user(
id int UNSIGNED PRIMARY KEY auto_increment,
username varchar(20) not null,
userType ENUM('普通用户','商家') not null DEFAULT('普通用户'),
password VARCHAR(128) not null,
phoneNumber varchar(11),
userPic VARCHAR(128),
cartIdList VARCHAR(600),
create_time datetime not null,
update_time datetime not null
);
CREATE table goods(
id int UNSIGNED PRIMARY KEY auto_increment,
goodsName VARCHAR(20) not null,
goodsImgUrl VARCHAR(128) not null,
goodsPrice FLOAT(10,2) not null,
merchantId int UNSIGNED not null,
create_time datetime not null,
update_time datetime not null
CONSTRAINT fk_goods_user FOREIGN KEY (merchantId) REFERENCES user(id)
);
3.总结
在创建好了这些对象之后,我们就可以开始写接口功能了。
我们先打算将前端接口都大致写出来再来开发前端界面。所以我们可以使用postman来对接口进行测试。
这些我们会在下一章来操作。