對象之間的轉換(mapstruct)


對象之間的轉換

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);

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM