注解@Mapper(componentModel = "spring")-自動生成DTO-DO的模型映射


注解@Mapper(componentModel = "spring")-自動生成VO-DO的模型映射
場景: 插件可以自動生成實現類,實現DTO-DO各種模型之間的字段映射(不僅僅限制於DTO-DO)

  • 第一步: 引入pom文件
            <!--mapStruct依賴--> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifactId> <version>1.2.0.CR1</version> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>1.2.0.CR1</version> <scope>provided</scope> </dependency> 
  • 第二步:
@Mapper(componentModel = "spring") public interface RoleConvert { RoleDO convert(RoleCreateDTO roleCreateDTO); } 使用: @Autowired private RoleConvert roleConvert; // 轉化 RoleDO roleDO = roleConvert.convert(roleCreateDTO); 
  • 第三步: 看編譯后自動生成的實現類

編譯后自動生成了RoleConvert 的實現類 RoleConvertImpl.class

 
image.png
  • 第四步: 高級用法,指定映射字段
@Mapper(componentModel = "spring") public interface ProductConverter { @Mappings({ @Mapping(source = "id",target = "productId"), @Mapping(source = "title",target = "productName"), @Mapping(source = "price",target = "salePrice"), @Mapping(source = "sellPoint",target = "subTitle"), @Mapping(source = "image",target = "picUrl") }) ProductDto item2Dto(ItemDocument item); } 
 
 
1人點贊
 
spring
 
 


作者:炒面Z
鏈接:https://www.jianshu.com/p/cc761b64fedb
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

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



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