1. 当需要转换List<A>至List<B>时,请先定义A至B转换的接口。在编译后MapConstruct生成的实现类中会利用dto2Po()来实现dto2poList()。
List<BizTaskPO> dto2PoList(List<BizTaskDTO> bizTaskDtoList);
BizTaskPO dto2Po(BizTaskDTO bizTaskDTO);
2. 若转换时类型不同,如一个long型的数据希望转换成LocalDateTime,则需要额外预初始化以下方法:
default LocalDateTime map(Long value) {
if(value == null) {
return null;
}
return LocalDateTime.ofInstant(Instant.ofEpochMilli(value), ZoneId.systemDefault());
}
其它的方法照常书写即可,因为MapConstruct在实现类中会自动使用上方定义的map()方法来转换两个不同类型的变量。
// 以下代码由MapConstruct自动生成
// bizTaskPO的executeTime是LocalDateTime类型
// bizTaskDTO的executeTime是Long类型
bizTaskPO.setExecuteTime(this.map(bizTaskDTO.getExecuteTime()));
待完善...