zoukankan      html  css  js  c++  java
  • 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;
        }
    
  • 相关阅读:
    Mysql蠕虫复制
    Mysql中如何开启慢查询功能?
    线程的状态以及状态切换
    Java的Unsafe类
    Spring 获取jar内外文件的方式
    RocketMQ学习
    volatile的理解
    快速排序
    JVM的发展史
    nginx安装配置
  • 原文地址:https://www.cnblogs.com/xiaojiluben/p/15514941.html
Copyright © 2011-2022 走看看