引入依赖
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.3.1.Final</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.3.1.Final</version>
</dependency>
新建一个抽象类或者接口并标注@Mapper
@Mapper映射规则
默认映射规则
同类型日同名的属性,会自动映射
mapstruct会自动进行类型转换
1.8种基本类型和他们对应的包装类型之间2.8种基本类型(包括他们的包装类型)和string之间
3.日期类型和string之间
@Mapping和@Mappings
指定属性之间的映射关系
日期格式化:dateFormat="yyyy-MM-dd HH:mm:ss'。数字格式化:numberFormat="#.00”
ignore
属性是引用对象的映射处理
自定义映射处理
批量转换
@BeanMapping
配置忽略mapstruct的默认映射行为,只映时那些配置了@Mapping的属性
@InheritConfiguration
当carDTO更新后VehicleVO也更新
@InheritInverseConfiguration
反向映射:a转b,使用@InheritInverseConfiguration可以实现b转a
注意:只继承@Mappin注解配置,不会继承@BeanMapping