ModelMapper 是一個java對象自動映射的第三方架包,用起來很方便,配合阿里的frstjson可以極大簡化后台代碼。
但是ModelMapper 中文使用說明很少,官網http://modelmapper.org/的解釋也很不明了所以我研究了好久。
ModelMapper modelMapper = new ModelMapper(); modelMapper.addMappings(new PropertyMap<AnEntity, ADTO>() { protected void configure() { //屬性名不一樣,自己設置對應關系 //source生成目標類,destination數據來源類,這兩個單詞可以理解成兩個指針,代指類 map().setText(source.getDescription()); //不映射某些屬性 //屬性是對象的可以如下 skip().setDtoOnlyProperty(null); //屬性非對象的 skip(destination.getID());//可以對source中屬性設置,也可以對destination的屬性設置 } }); ADTO adto = modelMapper.map(entity, ADTO.class);
更多高級應用可以參考http://www.talangsoft.org/2015/04/20/domain_mapping_with_modelmapper/這篇英文博客,沒辦法中文的太少了~~
希望這篇文章對大家有幫助,畢竟研究了打幾個小時頭都是暈的~~順便提一句ModelMapper 的性能不是很好(也是后面鬼知道循環了對少次,不過自己少寫好多也認了)要正確使用不然會有卡頓的~~