zoukankan      html  css  js  c++  java
  • 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);
        }
    







  • 相关阅读:
    信息的概念
    信息管理学基础
    第一章关键术语
    企业的转变
    国外的信息系统概念
    管理信息系统的基本功能
    人机交互设计-评价输入法-课下作业
    《构建之法》一
    27日进度
    26号进度
  • 原文地址:https://www.cnblogs.com/ding08/p/13656408.html
Copyright © 2011-2022 走看看