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<A, ADTO> {

    @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<A>转化为List<ADTO>
*/
List<ADTO> dtoList = new ArrayList<>();
List<A> 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"):控制时间输出格式

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值