• 对象之间的转换(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);
    

      

  • 相关阅读:
    某不知名的树形Dp
    HDU-5963 朋友 思维
    CF1292C Xenon's Attack on the Gangs
    Emergency Evacuation 模拟了一下
    NOI2003 逃学的小孩
    UVA11300 Spreading the Wealth 数学
    ACWing 1510 楼梯
    测试代码高亮
    Pollard-rho的质因数分解
    米勒罗宾素数检测(Miller-Rabin)
  • 原文地址:https://www.cnblogs.com/tanyucong/p/10302428.html
Copyright © 2020-2023  润新知