java后端写一个完整的接口流程——实体类(详细)

根据数据库的表格创建(与数据库严格对应)实体类A、(用于展现给前端使用,可新增字段,与数据库不冲突)ADTO、(查询参数,需要前端传参)AQueryDTO。

A、ADTO、AQueryDTO常用注解:

@Data:节省写get,set,tostring的时间;使代码更加简洁

实体类A常用注解:

@Table(name = ""):声明表名
@Id:声明一个字段为主键
@Column(name = ""):声明字段,经常用于属性名和表字段的映射

ADTO常用注解:

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss"):控制时间输入格式
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss"):控制时间输出格式
@NotBlank(message = "***不能为空"):(常用)只用于String,不能为null且trim()之后size>0
@NotEmpty(message = "***不能为空"):表示对象不为null且size>0,只用于String类,colleaction,map,array上
@NotNull(message = "***不能为空"):表示不能为null,但可以为empty(空),没有size约束,所以可以接受任何类型对象
@Min(value):被注解的元素必须为一个数字,其值必须大于等于指定的最小值
@Max(value):被注解的元素必须为一个数字,其值必须小于等于指定的最小值
@Size(max= ,min =)检查字段的长度约束
@Range(min=, max=):被注释的元素必须在合适的范围内
@Length(min=下限, max=上限):验证注解的元素值长度在min和max区间内
@Positive:输入的数字必须是正数
@PositiveOrZero:输入的数字必须是正数包括0

A和ADTO相互转换代码:

/**
* 在ADTO中填入
*/
public ADTO convertToDto(A a) {
    if (a != null) {
        ADtoCovert aDtoCovert = new ADtoCovert();
        ADTO aDTO = aDtoCovert.convert2DTO(a);
        return aDTO;
    }
    return null;
}

public A convertToEntity() {
    ADtoCovert aDtoCovert = new ADtoCovert();
    A a = aDtoCovert.convert2Entity(this);
    return a;
}

private static class ADtoCovert implements DtoConvert {

    @Override
    public ADTO convert2DTO(A a) {
        ADTO aDTO = new ADTO();
        BeanUtils.copyProperties(a, aDTO);
        return aDTO;
    }

    @Override
    public A convert2Entity(ADTO aDTO) {
        A a = new A();
        BeanUtils.copyProperties(aDTO, a);
        return a;
    }
}




/**
*一般在AServiceImpl中填入
*如何将List转化为List
*/
List dtoList = new ArrayList<>();
List list = AMapper.selectAll();
for(A entity : list){
    ADTO dtoEntity = new ADTO();
    dtoEntity = dtoEntity.convertToDto(entity);
    dtoList.add(dtoEntity);
}

 AQueryDTO常用注解:

@ApiModel("****查询参数"):描述返回对象的意义,作用于类上
@ApiModelProperty(""):对象属性,用在出入参数对象的字段上
@NotBlank(message = "表地址不能为空"):(常用)只用于String,不能为null且trim()之后size>0
@NotEmpty(message = "***不能为空"):表示对象不为null且size>0,只用于String类,colleaction,map,array上
@NotNull(message = "***不能为空"):表示不能为null,但可以为empty(空),没有size约束,所以可以接受任何类型对象
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss"):控制时间输入格式 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss"):控制时间输出格式

你可能感兴趣的:(java,开发语言)