Java实体映射工具 MapStruct

package com.enjoyit.ocbp.mapstruct;

import java.util.List;

public interface ObjectMapper<SELF, TARGET> {
    SELF toSelf(TARGET source);

    TARGET toTarget(SELF SELF);

    List<SELF> toSelf(List<TARGET> sources);

    List<TARGET> toTarget(List<SELF> SELVES);
}

定义:

package com.enjoyit.ocbp.data.mapper;

import com.enjoyit.ocbp.data.entities.SaleInfoDO;
import com.enjoyit.ocbp.mapstruct.ObjectMapper;
import com.enjoyit.ocbp.model.dto.SaleInfo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

@Mapper
public interface SaleInfoObjectMapper extends ObjectMapper<SaleInfoDO, SaleInfo> {
    SaleInfoObjectMapper INSTANCE = Mappers.getMapper(SaleInfoObjectMapper.class);
}

使用:

SaleInfo对象 转为 SaleInfoDO对象
private void submitOrder(PosSession session, OrderExchange exchange) {
        insertRecord(getSaleHeadMapper(), exchange.getSaleHead());
        exchange.refreshSlaveRecordList();
        insertRecords(getSaleGoodsMapper(), exchange.getSaleGoodsList());
        insertRecords(getSaleDiscountMapper(), exchange.getSaleDiscountList());
        insertRecords(getSalePayMapper(), exchange.getSalePayList());
        insertRecords(getSaleInfoDOMapper(), SaleInfoObjectMapper.INSTANCE.toSelf(exchange.getSaleInfoList()));
}
SaleInfoDO对象 转为 SaleInfo对象
    protected List<SaleInfo> selectSaleInfoList(SaleInfoDO saleInfoDO ){
        SaleInfoDOMapper mapper = getSaleInfoDOMapper();
        List<SaleInfoDO> saleInfoDOS = mapper.select(saleInfoDO);
        return SaleInfoObjectMapper.INSTANCE.toTarget(saleInfoDOS);
    }







原文地址:https://www.cnblogs.com/ding08/p/13656408.html