微服務應用大行其道,我提供一個dto和entity轉換工具類,方便你們作轉換,少寫機械代碼,多陪陪家人。java
該工具類主要是對dozer進行了封裝,使用過程代碼量極少,廢話少說,貼代碼了數據庫
import java.util.ArrayList;
import java.util.List;app
import org.dozer.DozerBeanMapper;
import org.dozer.Mapper;ide
public class DtoEntityUtil {
static Mapper mapper = new DozerBeanMapper();
public static <D,E> E trans(D t,Class<E> clazz){
if(t == null)
return null;
return mapper.map(t, clazz);
}
public static <D,E> List<E> trans(D[] ts,Class<E> clazz){
List<E> es = new ArrayList<E>();
if(ts == null)
return es;
for(D d:ts) {
E e = (E)trans(d,clazz);
if(e != null)
es.add(e);
}
return es;
}
public static <D,E> List<E> trans(List<D> ts,Class<E> clazz){
List<E> es = new ArrayList<E>();
if(ts == null )
return es;
for(D d:ts) {
E e = (E)trans(d,clazz);
if(e != null)
es.add(e);
}
return es;
}
}微服務
舉例:工具
//下面兩段代碼是將entity轉換成dto;分別是單個對象轉換和集合對象轉換;通常用於向consumer提供數據對象
//WorkeRecord是entity,從數據庫中獲取的對象it
DtoEntityUtil.trans(workeRecord, WorkerRecordDTO.class);class
//es是List集合,裏面的對象是WorkeRecord的實例import
List<WorkerRecordDTO> ds = (List<WorkerRecordDTO>)DtoEntityUtil.trans(es, WorkerRecordDTO.class);
//================華麗分隔符==================
//下面例子是dto轉entity,通常用於向provider傳入對象
DtoEntityUtil.trans(menuDto, Menu.class);//將mentDto轉換成mentEntity
List<User> users = DtoEntityUtil.trans(ts, User.class);//將dto集合ts轉換成entityList users
代碼量是否是不多~~~