zoukankan      html  css  js  c++  java
  • DozerBeanMapper 配置

    applicationContext.xml

        <bean id="mapper" class="org.dozer.spring.DozerBeanMapperFactoryBean" scope="singleton">
            <property name="mappingFiles">
                <list>
                    <value>classpath*:/*mapping.xml</value>
                </list>
            </property>
        </bean>

    pom.xml

          <!-- dozer -->
        <dependency>
            <groupId>net.sf.dozer</groupId>
            <artifactId>dozer</artifactId>
                    <version>5.5.1</version>
        </dependency>
        
        <dependency>
            <groupId>net.sf.dozer</groupId>
            <artifactId>dozer-spring</artifactId>
            <version>5.5.1</version>
        </dependency>

    outboundnotice-mapping.xml

     <class-a>指定所要复制的源对象,<class-b>复制的目标对象,<a>源对象的属性名, <b>目标对象的属性名。  

     wildcard默认为true,在此时默认对所有属性进行map,如果为false,则只对在xml文件中配置的属性进行map。

    <?xml version="1.0" encoding="UTF-8"?>
    <mappings xmlns="http://dozer.sourceforge.net"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://dozer.sourceforge.net http://dozer.sourceforge.net/schema/beanmapping.xsd">
          
          <mapping wildcard="false" type="one-way">
            <class-a>com.yundaex.wms.outbound.po.RivOutboundNoticeH</class-a>
            <class-b>com.yundaex.wms.core.status.po.RivStatusHistory</class-b>
            
            <!-- 单头ID -->
            <field>
                <a>onhId</a>
                <b>shHeaderId</b>
            </field>
            
        </mapping>
        
        <mapping wildcard="false" type="one-way">
            <class-a>com.yundaex.wms.outbound.po.RivPickL</class-a>
            <class-b>com.yundaex.wms.core.status.po.RivStatusHistory</class-b>
            
            <!-- 单头ID -->
            <field>
                <a>pklId</a>
                <b>shHeaderId</b>
            </field>
            
        </mapping>
            
        <mapping type="one-way" wildcard="false">
            <class-a>com.yundaex.wms.outbound.bo.SrcPickAllocateBO</class-a>
            <class-b>com.yundaex.wms.core.store.bo.QuantWithDtl</class-b>
            
            <field>
                <a>detail.pklSrcContainerId</a>
                <b>qtContainerId</b>
            </field>
            
            <field>
                <a>detail.pklExpiryDate</a>
                <b>qtExpiryDate</b>
            </field>
            
            <field>
                <a>detail.pklSrcLocationId</a>
                <b>qtLocationId</b>
            </field>
            
            <field>
                <a>detail.pklLotItem1</a>
                <b>qtLotItem1</b>
            </field>        
            
            <field>
                <a>detail.pklLotItem2</a>
                <b>qtLotItem2</b>
            </field>
            
            <field>
                <a>detail.pklLotItem3</a>
                <b>qtLotItem3</b>
            </field>
            
            <field>
                <a>detail.pklLotNo</a>
                <b>qtLotNo</b>
            </field>
            
            <field>
                <a>detail.pklLotString1</a>
                <b>qtLotString1</b>
            </field>
            
            <field>
                <a>detail.pklLotString2</a>
                <b>qtLotString2</b>
            </field>
            
            <field>
                <a>detail.pklLotString3</a>
                <b>qtLotString3</b>
            </field>
            
            <field>
                <a>detail.pklLotString4</a>
                <b>qtLotString4</b>
            </field>
            
            <field>
                <a>detail.pklLotString5</a>
                <b>qtLotString5</b>
            </field>
            
            <field>
                <a>detail.pklSrcLpn</a>
                <b>qtLpn</b>
            </field>
            
            <field>
                <a>detail.pklManufDate</a>
                <b>qtManufDate</b>
            </field>
            
            <field>
                <a>detail.pklMaterialId</a>
                <b>qtMaterialId</b>
            </field>
            
            <field>
                <a>detail.pklMaterialStatusId</a>
                <b>qtMaterialStatusId</b>
            </field>
            
            <field>
                <a>head.onhOrgId</a>
                <b>qtOrgId</b>
            </field>
            
            <field>
                <a>head.onhOwnerId</a>
                <b>qtOwnerId</b>
            </field>
            
            <field>
                <a>detail.pklRecvDate</a>
                <b>qtRecvDate</b>
            </field>
            
            <!--  推车格子号不作用于库存变动 拣货明细中格子号是一直为空的 -->
            <!-- 
            <field>
                <a>detail.pklSrcTrolleyCellNo</a>
                <b>qtTrolleyCellNo</b>
            </field>
            -->
            
            <field>
                <a>detail.pklVoucherNo</a>
                <b>qtVoucherNo</b>
            </field>
            
        </mapping>
        
        <mapping type="one-way" wildcard="false">
            <class-a>com.yundaex.wms.outbound.bo.DestPickAllocateBO</class-a>
            <class-b>com.yundaex.wms.core.store.bo.QuantWithDtl</class-b>
            
            <field>
                <a>detail.pklDestContainerId</a>
                <b>qtContainerId</b>
            </field>
            
            <field>
                <a>detail.pklExpiryDate</a>
                <b>qtExpiryDate</b>
            </field>
            
            <field>
                <a>detail.pklDestLocationId</a>
                <b>qtLocationId</b>
            </field>
            
            <field>
                <a>detail.pklLotItem1</a>
                <b>qtLotItem1</b>
            </field>        
            
            <field>
                <a>detail.pklLotItem2</a>
                <b>qtLotItem2</b>
            </field>
            
            <field>
                <a>detail.pklLotItem3</a>
                <b>qtLotItem3</b>
            </field>
            
            <field>
                <a>detail.pklLotNo</a>
                <b>qtLotNo</b>
            </field>
            
            <field>
                <a>detail.pklLotString1</a>
                <b>qtLotString1</b>
            </field>
            
            <field>
                <a>detail.pklLotString2</a>
                <b>qtLotString2</b>
            </field>
            
            <field>
                <a>detail.pklLotString3</a>
                <b>qtLotString3</b>
            </field>
            
            <field>
                <a>detail.pklLotString4</a>
                <b>qtLotString4</b>
            </field>
            
            <field>
                <a>detail.pklLotString5</a>
                <b>qtLotString5</b>
            </field>
            
            <field>
                <a>detail.pklDestLpn</a>
                <b>qtLpn</b>
            </field>
            
            <field>
                <a>detail.pklManufDate</a>
                <b>qtManufDate</b>
            </field>
            
            <field>
                <a>detail.pklMaterialId</a>
                <b>qtMaterialId</b>
            </field>
            
            <field>
                <a>detail.pklMaterialStatusId</a>
                <b>qtMaterialStatusId</b>
            </field>
            
            <field>
                <a>head.onhOrgId</a>
                <b>qtOrgId</b>
            </field>
            
            <field>
                <a>head.onhOwnerId</a>
                <b>qtOwnerId</b>
            </field>
            
            <field>
                <a>detail.pklRecvDate</a>
                <b>qtRecvDate</b>
            </field>
            
            <!--  推车格子号不作用于库存变动 拣货明细中格子号是一直为空的 -->
            <!-- 
            <field>
                <a>detail.pklSrcTrolleyCellNo</a>
                <b>qtTrolleyCellNo</b>
            </field>
            -->
            
            <field>
                <a>detail.pklVoucherNo</a>
                <b>qtVoucherNo</b>
            </field>
            
        </mapping>
        
        <mapping wildcard="false" type="one-way">
            <class-a>com.yundaex.wms.outbound.po.RivOutboundNoticeH</class-a>
            <class-b>com.yundaex.wms.outbound.po.RivOutboundNoticeH</class-b>
            
            <field>
                <a>onhCarrierId</a>
                <b>onhCarrierId</b>
            </field>
            
            <field>
                <a>onhConsignee</a>
                <b>onhConsignee</b>
            </field>
            
            <field>
                <a>onhConsigneeAddress</a>
                <b>onhConsigneeAddress</b>
            </field>
            
            <field>
                <a>onhConsigneeMobile</a>
                <b>onhConsigneeMobile</b>
            </field>
            
            <field>
                <a>onhConsigneePostCode</a>
                <b>onhConsigneePostCode</b>
            </field>
            
            <field>
                <a>onhConsigneeTel</a>
                <b>onhConsigneeTel</b>
            </field>
            
            <field>
                <a>onhExpectDatetime</a>
                <b>onhExpectDatetime</b>
            </field>
            
            <field>
                <a>onhInputDatetime</a>
                <b>onhInputDatetime</b>
            </field>
            
            <field>
                <a>onhInputUserId</a>
                <b>onhInputUserId</b>
            </field>
            
            <field>
                <a>onhOrderDatetime</a>
                <b>onhOrderDatetime</b>
            </field>
            
            <field>
                <a>onhOrgId</a>
                <b>onhOrgId</b>
            </field>
            
            <field>
                <a>onhOwnerId</a>
                <b>onhOwnerId</b>
            </field>
            
            <field>
                <a>onhTxType</a>
                <b>onhTxType</b>
            </field>
            
            <field>
                <a>onhConsAddressCity</a>
                <b>onhConsAddressCity</b>
            </field>
            
            <field>
                <a>onhConsAddressDistrict</a>
                <b>onhConsAddressDistrict</b>
            </field>
            
            <field>
                <a>onhConsAddressProvince</a>
                <b>onhConsAddressProvince</b>
            </field>
            
            <field>
                <a>onhShopName</a>
                <b>onhShopName</b>
            </field>
            
            <field>
                <a>onhPlatformCode</a>
                <b>onhPlatformCode</b>
            </field>
            
            <field>
                <a>onhPlatformName</a>
                <b>onhPlatformName</b>
            </field>
            
            <field>
                <a>onhBuyerNickname</a>
                <b>onhBuyerNickname</b>
            </field>
            
            <field>
                <a>onhTransactionNo</a>
                <b>onhTransactionNo</b>
            </field>
            
            <field>
                <a>onhPickUpType</a>
                <b>onhPickUpType</b>
            </field>
            
            <field>
                <a>onhSender</a>
                <b>onhSender</b>
            </field>
            
            <field>
                <a>onhSenderAddress</a>
                <b>onhSenderAddress</b>
            </field>
            
            <field>
                <a>onhSenderMobile</a>
                <b>onhSenderMobile</b>
            </field>
            
            <field>
                <a>onhSenderPostCode</a>
                <b>onhSenderPostCode</b>
            </field>
            
            <field>
                <a>onhSenderTel</a>
                <b>onhSenderTel</b>
            </field>
            
            <field>
                <a>onhSetPackageDestination</a>
                <b>onhSetPackageDestination</b>
            </field>
            
        </mapping>
        
        <mapping wildcard="false" type="one-way">
            <class-a>com.yundaex.wms.outbound.po.RivOutboundNoticeL</class-a>
            <class-b>com.yundaex.wms.outbound.po.RivOutboundNoticeL</class-b>
            
            <field>
                <a>onlMaterialId</a>
                <b>onlMaterialId</b>
            </field>
            
            <field>
                <a>onlPrice</a>
                <b>onlPrice</b>
            </field>
            
            <field>
                <a>onlNoticeQty</a>
                <b>onlNoticeQty</b>
            </field>
            
            <field>
                <a>onlAllocQty</a>
                <b>onlAllocQty</b>
            </field>
            
            <field>
                <a>onlRemark</a>
                <b>onlRemark</b>
            </field>
            
        </mapping>
        
    </mappings>
    private static final Mapper mapper = (Mapper) SpringContext.getBean("mapper");
    
    
    QuantWithDtl sourceQuant = mapper.map(source, QuantWithDtl.class);
  • 相关阅读:
    Spring boot启动后没有生成日志文件问题排错
    keepalived 容器在宿主机重启后无法启动问题:报错:daemon is already running
    【转】iptables命令、规则、参数详解
    【转】VMwareCLI命令参考
    【转】通过ionice和nice降低shell脚本运行的优先级
    【转】dd命令详解及利用dd测试磁盘性能
    【转】Keepalived无法绑定VIP故障排查经历
    【转】浏览器Request Header和Response Header的内容
    【转】Spring Boot 日志配置(超详细)
    Spring数据访问和事务
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/7027819.html
Copyright © 2011-2022 走看看