JavaWeb的对象分为几种,分别是model(dataobject)、dto(dataTransferObject)、VO、form。
model
用于和数据库交互的对象。属性名和数据库的字段名一致。文件名一般为数据库表名的驼峰式。
@Entity
@Data
@DynamicUpdate
public class OrderMaster {
/** 订单id. */
@Id
private String orderId;
/** 买家名字. */
private String buyerName;
/** 买家手机号. */
private String buyerPhone;
/** 买家地址. */
private String buyerAddress;
/** 买家微信Openid. */
private String buyerOpenid;
/** 订单总金额. */
private BigDecimal orderAmount;
}
dto
用于Controller层与Service层传输数据。文件名一般为DTO结尾。
@Data
public class OrderDTO {
/** 订单id. */
private String orderId;
/** 买家名字. */
private String buyerName;
/** 买家手机号. */
private String buyerPhone;
/** 买家地址. */
private String buyerAddress;
/** 买家微信Openid. */
private String buyerOpenid;
/** 订单总金额. */
private BigDecimal orderAmount;
}
VO
Controller层返回数据给前端,一般用VO进行包装。文件名一般以VO结尾。如把返回的数据都包装在ResultVO里:
@Data
public class ResultVO<T> {
/** 错误码. */
private Integer code;
/** 提示信息. */
private String msg;
/** 具体内容. */
private T data;
}
form
当前端传过来的数据过多时,我们用from包装数据。文件名一般以Form结尾。
@Data
public class OrderForm {
/**
* 买家姓名
*/
@NotEmpty(message = "姓名必填")
private String name;
/**
* 买家手机号
*/
@NotEmpty(message = "手机号必填")
private String phone;
/**
* 买家地址
*/
@NotEmpty(message = "地址必填")
private String address;
/**
* 买家微信openid
*/
@NotEmpty(message = "openid必填")
private String openid;
/**
* 购物车
*/
@NotEmpty(message = "购物车不能为空")
private String items;
}