代码如下:
原文地址:https://www.cnblogs.com/ynxrsoft/p/7444453.html
实体类:
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private String pkid;
private String userName;
private String passWord;
private String roleID;
}遍历:
public class test {
public static void main(String[] args) throws Exception{
User e = new User();
reflect(e);
}
public static void reflect(User e) throws Exception{
Class cls = e.getClass();
Field[] fields = cls.getDeclaredFields();
for(int i=0; i<fields.length; i++){
Field f = fields[i];
f.setAccessible(true);
System.out.println("属性名:" + f.getName() + " 属性值:" + f.get(e));
}
}
}
输出:
criteria转换entity
public static ResultDO<Boolean> convert(AbstractCriteria criteria, Object target) {
Class criteriaClazz = criteria.getClass();
Field[] targetFields = target.getClass().getDeclaredFields();
for (Field targetField : targetFields) {
targetField.setAccessible(true);
String targetFieldName = targetField.getName();
if ("serialVersionUID".equals(targetFieldName)) {
continue;
}
Class<?> type = targetField.getType();
try {
Field sourceField = criteriaClazz.getDeclaredField(targetFieldName);
sourceField.setAccessible(true);
Object o = sourceField.get(criteria);
if (o == null) {
continue;
}
if (type != null && type.toString().contains("Date")) {
if (!o.toString().equals("")) {
targetField.set(target, DatetimeUtil.string2DateCommon(o.toString()));
}
} else if (type != null && type.toString().contains("Timestamp")) {
if (!o.toString().equals("")) {
targetField.set(target, DatetimeUtil.string2Timestamp(o.toString()));
}
} else {
targetField.set(target, o);
}
sourceField.setAccessible(false);
} catch (ParseException | IllegalAccessException e) {
MedChatLogger.error(e);
return new ResultDO<>(ErrCode.PARAM_ERROR.getErrCode(), DATE_FORMAT_ERROR);
} catch (NoSuchFieldException e) {
MedChatLogger.info(e);
continue;
}
targetField.setAccessible(false);
}
return new ResultDO<>(true);
}