SpringBoot整合Java 实体映射工具 MapStruct

MapStruct 是一个属性映射工具,只需要定义一个Mapper 接口,MapStruct 就会自动实现这个映射接口,避免了复杂繁琐的映射实现。MapStruct官网地址: http://mapstruct.org/

一、pom依赖:

<dependency>
     <groupId>org.codehaus.jackson</groupId>
     <artifactId>jackson-core-asl</artifactId>
     <version>1.9.13</version>
 </dependency>
 <dependency>
     <groupId>org.mapstruct</groupId>
     <artifactId>mapstruct</artifactId>
     <version>1.3.0.Final</version>
 </dependency>
 <dependency>
     <groupId>org.mapstruct</groupId>
     <artifactId>mapstruct-processor</artifactId>
     <version>1.3.0.Final</version>
 </dependency>

二、接口工具:

Vo2PoBaseConvert:

import org.mapstruct.InheritConfiguration;
import org.mapstruct.InheritInverseConfiguration;

import java.util.List;

/**
 * @Author: MHP
 * @Description:
 * @Date: create in 2022/1/11 19:26
 */
public interface Vo2PoBaseConvert<Vo, Po> {
    @InheritConfiguration
    Po vo2Po(Vo vo);

    @InheritConfiguration
    List<Po> vo2Po(List<Vo> sourceList);

    @InheritInverseConfiguration
    Vo po2Vo(Po po);

    @InheritInverseConfiguration
    List<Vo> po2Vo(List<Po> poList);
}

Dto2VoBaseConvert:

import org.mapstruct.InheritConfiguration;
import org.mapstruct.InheritInverseConfiguration;

import java.util.List;

/**
 * @Author: MHP
 * @Description:
 * @Date: create in 2022/1/11 19:23
 */
public interface Dto2VoBaseConvert<Dto, Vo> {
    @InheritConfiguration
    Vo dto2Vo(Dto dto);

    @InheritConfiguration
    List<Vo> dto2Vo(List<Dto> sourceList);

    @InheritInverseConfiguration
    Dto vo2Dto(Vo vo);

    @InheritInverseConfiguration
    List<Dto> vo2Dto(List<Vo> voList);
}

Dto2PoBaseConvert:

import org.mapstruct.InheritConfiguration;
import org.mapstruct.InheritInverseConfiguration;

import java.util.List;

/**
 * @Author: MHP
 * @Description:
 * @Date: create in 2022/1/11 19:23
 */
public interface Dto2PoBaseConvert<Dto, Po> {
    @InheritConfiguration
    Po dto2Po(Dto dto);

    @InheritConfiguration
    List<Po> dto2Po(List<Dto> sourceList);

    @InheritInverseConfiguration
    Dto po2Dto(Po po);

    @InheritInverseConfiguration
    List<Dto> po2Dto(List<Po> poList);
}

**

三、Mapper接口:

**
AdmCardConvert:

import com.msun.ascsoldhis.admcard.entity.po.AdmCard;
import com.msun.ascsoldhis.admcard.entity.po.AdmCardDTO;
import com.msun.ascsoldhis.admcard.entity.po.AdmCardVO;
import com.msun.ascsoldhis.common.convert.Dto2PoBaseConvert;
import com.msun.ascsoldhis.common.convert.Dto2VoBaseConvert;
import com.msun.ascsoldhis.common.convert.Vo2PoBaseConvert;
import org.mapstruct.Mapper;

@Mapper(componentModel = "spring")
public interface AdmCardConvert extends Dto2PoBaseConvert<AdmCardDTO, AdmCard>, Dto2VoBaseConvert<AdmCardDTO, AdmCardVO>, Vo2PoBaseConvert<AdmCardVO, AdmCard> {
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值