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







  • 相关阅读:
    Shell脚本 --- 正则表达式和文本处理工具
    python的eval、exec函数
    内置函数 Built-in Functions
    关于Python中的lambda
    Python中*args和**kwargs的区别
    Python基础-10-文件操作
    Python基础-09-内置函数
    Python基础-08-函数
    Python基础-07-集合
    Python基础-06-字典
  • 原文地址:https://www.cnblogs.com/ding08/p/13656408.html
Copyright © 2011-2022 走看看