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);
    }

 

 

 

 

 

 

 

 

 

 

 

 








posted on 2020-09-12 11:38  各执一词  阅读(263)  评论(0编辑  收藏  举报

导航