根据数据库的表格创建(与数据库严格对应)实体类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"):控制时间输出格式