zoukankan      html  css  js  c++  java
  • 对象之间的转换(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);
    

      

  • 相关阅读:
    「系统集成方案」智慧工地
    「Django」学习之路,持续更改
    「Django」与mysql8连接的若干问题
    「Python」socket指南
    「Python」35个知识点
    「CSS」文本编排相关的CSS属性设置
    「CSS」css基础
    bWAPP----HTML Injection
    bWAPP----HTML Injection
    bWAPP----HTML Injection
  • 原文地址:https://www.cnblogs.com/tanyucong/p/10302428.html
Copyright © 2011-2022 走看看