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







  • 相关阅读:
    idapython常用api记录7.0
    Ubuntu(16.0.4)上编译android8.1源码(资料最全版本)
    Frida常用方法
    Frida Java Hook 详解(安卓9):代码及示例(下)
    Frida Java Hook 详解(安卓9):代码及示例(上)
    windows命令行工具导出系统日志——wevtutil
    帆软 V9 Getshell
    和信创天云桌面命令执行
    天擎越权访问
    天擎-前台SQL注入
  • 原文地址:https://www.cnblogs.com/ding08/p/13656408.html
Copyright © 2011-2022 走看看