字段映射 mapStruct lombok


lomkbok

<org.projectlombok.version>1.18.20</org.projectlombok.version>


org.projectlombok
lombok
${org.projectlombok.version}
true

安装lombok插件

mapstruct

<org.mapstruct.version>1.5.5.Final</org.mapstruct.version>

org.mapstruct mapstruct ${org.mapstruct.version}

解决:

lombok 1.18.16之后,添加path,必须使用 lombok-mapstruct-binding 插件。

<lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version>


org.apache.maven.plugins
maven-compiler-plugin
3.11.0

${java.version}
${java.version}



org.mapstruct
mapstruct-processor
${org.mapstruct.version}


org.projectlombok
lombok
${org.projectlombok.version}


org.projectlombok
lombok-mapstruct-binding
${lombok-mapstruct-binding.version}



使用

一对一映射

@Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
public interface OrderMapper {

@Mapping(target = "bankId", source = "orgId")
@Mapping(target = "programDetails.days", source = "programDetails.days")
OrderItemDto infoToOrderItem(Info info);

}

多对一

如两个转换成一个对象

如果与mybatis的mapper冲突,可改为Convert包

会自动生成 OrderConverterImpl  在target中

posted @ 2024-02-22 01:51  你今日食咗饭未  阅读(14)  评论(0)    收藏  举报