mapstruct 集合轉換指定方法


接口

    /**
     * @IterableMapping(qualifiedByName = "test") : 指定調用@Named("test")標記的方法作為集合內元素轉換方法
     */
    @Named("test2")
    @IterableMapping(qualifiedByName = "test")
    List<ClusterInfoDTO> test2(List<ClusterInfo> clusterInfoSet);

    /**
     * 該方法只想復制id屬性
     * @BeanMapping(ignoreByDefault = true) : 不自動映射字段,所有需要映射的字段均需要通過@Mapping來指定
     */
    @Named("test")
    @BeanMapping(ignoreByDefault = true)
    @Mapping(target = "id", source = "id")
    ClusterInfoDTO test1(ClusterInfo clusterInfoSet);

自動生成的實現

    @Override
    public List<ClusterInfoDTO> test2(List<ClusterInfo> clusterInfoSet) {
        if ( clusterInfoSet == null ) {
            return null;
        }

        List<ClusterInfoDTO> list = new ArrayList<ClusterInfoDTO>( clusterInfoSet.size() );
        for ( ClusterInfo clusterInfo : clusterInfoSet ) {
            list.add( test1( clusterInfo ) );
        }

        return list;
    }

    @Override
    public ClusterInfoDTO test1(ClusterInfo clusterInfoSet) {
        if ( clusterInfoSet == null ) {
            return null;
        }

        ClusterInfoDTO clusterInfoDTO = new ClusterInfoDTO();

        clusterInfoDTO.setId( clusterInfoSet.getId() );

        return clusterInfoDTO;
    }


免責聲明!

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



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