@Component
@Slf4j
public class PoConvertVoUtil {
// 参数一:库里拿出的实体对象 参数二:VO对象名.Class 备注:名称及类型需要一致
// 更换参数,即可实现任意O转换
public <T,U> U poConvertVoUtil(T po, Class<U> clz) {
U vo = null;
try {
vo = clz.newInstance();
Field[] poFiles = po.getClass().getDeclaredFields();
Field[] voFiles = clz.getDeclaredFields();
for (Field poFile : poFiles) {
//打开权限
poFile.setAccessible(true);
for (Field voFile : voFiles) {
voFile.setAccessible(true);
if (poFile.getName().equals(voFile.getName())) {
if ("serialVersionUID".equals(voFile.getName())) {
continue;
}
//取值
Object value = poFile.get(po);
//赋值
voFile.set(vo,value);
break;
}
}
}
} catch (Exception e) {
e.printStackTrace();
log.error("vo实例化异常");
}
return vo;
}
}
有什么问题欢迎留言
看到都会回复