一.1.pom文件导入
<!-- mapstruct转换 -->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
</dependency>
<properties>
<mapstruct.version>1.5.5.Final</mapstruct.version>
<mpp.version>1.5.5.Final</mpp.version>
</properties>
<!-- mapstruct转换 -->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mpp.version}</version>
</dependency>
2.pom文件设置:在有spring-boot-maven-plugin的设置下,加 <exclude>标签内容是你引用的convert类位置及类名
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.15</version>
<configuration>
<excludes>
<exclude>
<dependency>
<groupId>cn.siat.pathway.web.systempro.convert</groupId>
<artifactId>user-convert</artifactId>
</dependency>
<dependency>
<groupId>cn.siat.pathway.web.systempro.convert</groupId>
<artifactId>log-convert</artifactId>
</dependency>
<dependency>
<groupId>cn.siat.pathway.web.systempro.convert</groupId>
<artifactId>role-convert</artifactId>
</dependency>
</exclude>
</excludes>
注意:lombok的版本需要1.16.16以上(否则有版本冲突)
以上类举例:
/**
* 功能描述:用户对象转换器
**/
@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface UserConvert {
UserConvert INSTANCE = Mappers.getMapper(UserConvert.class);
UserVO convert(UserDTO userDTO);
UserDO convert(UserCreate createVO);
UserDO convert(UserUpdate updateVO);
UserDO convert(UserEmailUpdate updateVO);
UserDO convert(UserPwdChange userPwdChange);
UserDTO convert(UserDO userDO);
UserVO convertVO(UserDO userDO);
UserPwdHisVO convertUserPwdHisVO(UserPwdHisDO userPwdHisDO);
UserPwdHisDO convertUserPwdHisDO(UserPwdHisCreate userPwdHisCreate);
}