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







  • 相关阅读:
    LeetCode111 二叉树的最小深度
    LeetCode104 二叉树的最大深度
    LeetCode102 二叉树的层次遍历
    LeetCode94 二叉树的中序遍历
    LeetCode145 二叉树的后序遍历
    LeetCode144 二叉树的前序遍历
    计算机考研真题 最大序列和
    计算机考研真题 对称矩阵
    计算机考研真题 点菜问题
    计算机考研真题 数字反转
  • 原文地址:https://www.cnblogs.com/ding08/p/13656408.html
Copyright © 2011-2022 走看看