對象之間的轉換
1、在maven中引入jar包
<!--對象轉換-->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.1.0.Final</version>
<scope>provided</scope>
</dependency>
2、創建一個接口專門實現對象進行轉換
@Mapper
public interface IContractBean {
IContractBean INSTANCE = Mappers.getMapper(IContractBean.class);
Contract contract(SaveContractDTO saveContactDTO);
ContractGood contractGood(GoodDTO goodDTO);
List<ContractGood> contractGood(List<GoodDTO> goodDTOList);
@Mappings({
@Mapping(source = "terminationTime", target = "endTime"),
})
ContractAssistVO relationVO(ContractRelationAssist relationAssist);
Page<ContractAssistVO> relationVO(Page<ContractRelationAssist> relationAssistPage);
}
如果是List對象互相轉換,那么需要先設置List里面的對象先進行轉換
ContractGood contractGood(GoodDTO goodDTO); List<ContractGood> contractGood(List<GoodDTO> goodDTOList);
如果對象里面的屬性不一致,需要進行轉換,則使用@Mappings注解
//將 terminationTime 轉成 endTime對象
@Mappings({
@Mapping(source = "terminationTime", target = "endTime"),
})
ContractAssistVO relationVO(ContractRelationAssist relationAssist);
Page<ContractAssistVO> relationVO(Page<ContractRelationAssist> relationAssistPage);
3、實現類進行使用
GoodVO goodVO = IContractBean.INSTANCE.contractGoodVO(contractGood);
List<GoodVO> goodVOList = IContractBean.INSTANCE.contractGoodVO(goodList);
