参考链接:
http://www.tianshouzhi.com/api/tutorials/mapstruct
https://blog.csdn.net/u014175005/article/details/72792839
https://juejin.im/entry/5b228c2651882574b15882ba
大概使用说明:
<!--mapstruct-jdk8--> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifactId> <version>1.3.0.Final</version> </dependency>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <annotationProcessorPaths> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>1.3.0.Final</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> </path> </annotationProcessorPaths> </configuration> </plugin>
@Mapper(uses = DateConverter.class) public interface ThriftDTOConverter { ThriftDTOConverter INSTANCE = Mappers.getMapper(ThriftDTOConverter.class); @Mappings({ @Mapping(source = "start", target = "offset"), @Mapping(source = "size", target = "limit"), }) UserOrderListQuery toUserOrderListQuery(OffSetPageParams paging); }
UserOrderListQuery userOrderListQuery = ThriftDTOConverter.INSTANCE.toUserOrderListQuery(paging);