这篇博文不错:https://www.cnblogs.com/tanoak/articles/10302299.html
1.pom.xml配置
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>1.2.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>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.2.0.Final</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
2.java实体代码
1 @Data
2 public class CarDto {
3
4 private String make;
5 private int seatCount;
6 private String type;
7 }
8
9
10 @Data
11 @AllArgsConstructor
12 public class Car {
13 private String make;
14 private int numberOfSeats;
15 }
3.定义一个mapper接口,里面做实体装换
1 @Mapper
2 public interface CarMapper {
3
4 CarMapper INSTANCE = Mappers.getMapper(CarMapper.class);
5
6 @Mapping(source = "numberOfSeats", target = "seatCount")
7 CarDto carToCarDto(Car car);
8
9 }
4.最后测试代码
1 public class Test {
2
3 public static void main(String[] args) {
4 Car car = new Car( "Morris", 120 );
5 //转换对象
6 CarDto carDto = CarMapper.INSTANCE.carToCarDto( car );
7
8 //测试
9 System.out.println( carDto );
10 System.out.println( carDto.getMake() );
11 System.out.println( carDto.getSeatCount() );
12 System.out.println(carDto.getType());
13 }
14 }
还有其他高级用法....
来源:oschina
链接:https://my.oschina.net/u/4400642/blog/4270300