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