Dozer使用 整理2

几乎所有的配置都可以分为全局 mapping 和字段级的配置 , 按自己的需要配置吧 !!!

注意 :Dozer 是绝大多数操作是根据 getter setter 方法来执行的 , 所以如果你没有定义这些方法的话 ……… 后果自负吧 !!

最好结合 Dozer 的源码去看 , 效果会非常非常非常的好

 

 

根据给我介绍 Dozer 的老师的习惯用语 , 称之为 好厉害的 DozerMapper” 配置方法 :

关闭默认的自动映射 , 即只有定义的字段才映射复制 ( wildcard 属性value=false|true 默认)

<mapping wildcard="false">

<class-a>org.dozer.vo.AnotherTestObject</class-a>


<class-b>org.dozer.vo.AnotherTestObjectPrime</class-b>
<field>
<a>field1</a>
<b>field1</b>
</field>
</mapping>
指定的属性字段不进行复制(<field-exclude> )
<field-exclude> 
<a>fieldToExclude</a> 
<b>fieldToExclude</b> 
</field-exclude>
<field-exclude type="one-way""> 

<a>fieldToExclude</a> 

<b>fieldToExclude</b> 
</field-exclude>    
如果源字段的值是null,那么就不执行setter方法去给目标属性赋值
<mapping map-null="false">
<class-a>org.dozer.vo.AnotherTestObject</class-a>

<class-b>org.dozer.vo.AnotherTestObjectPrime</class-b>
<field>
<a>field4</a>
<b>to.one</b>
</field>
</mapping>   
OR...
<mapping>

<class-a>org.dozer.vo.AnotherTestObject</class-a>


<class-b map-null="false">org.dozer.vo.AnotherTestObjectPrime</class-b>    


<field>


<a>field4</a>


<b>to.one</b>


</field>
</mapping>   
还有一种String的空 ("")
<mapping map-empty-string="false">

<class-a>org.dozer.vo.AnotherTestObject</class-a>

<class-b>org.dozer.vo.AnotherTestObjectPrime</class-b>   

<field>
<a>field4</a>
<b>to.one</b>
</field>
</mapping>   
OR...

<mapping>
<class-a>org.dozer.vo.AnotherTestObject</class-a>
<class-b map-empty-string="false">org.dozer.vo.AnotherTestObjectPrime</class-b> 
<field>

<a>field4</a>

<b>to.one</b>
</field>
</mapping>   
有时候需要将某类型为数组或者集合(


下标)


的一项复制给另外一个字段,


那么就需要下面的配置了,


支持索引的映射:
<mapping>


<class-a>org.dozer.vo.Individuals</class-a>


<class-b>org.dozer.vo.FlatIndividual</class-b>

<field>
<a>usernames[0]</a>

<b>username1</b>


</field>


<field>

<a>usernames[1]</a>
<b>username2</b>

</field>

<field>

<a>individual.username</a>

<b>username2</b>

</field>

<field>


<a>secondNames[1]</a>
<b>secondName1</b>
</field>

<field>
<a>secondNames[2]</a>

<b>secondName2</b>
</field>

<field>

<a>aliases.otherAliases[0]</a>

<b>primaryAlias</b>

</field>
</mapping>

困了,


以后再继续吧..


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值