//遍历order,得到属性值不为空的属性,type:操作类型。0是新增,1是更新
private Map reflect(Order order,String type) throwsException{
Map map=new HashMap();
Class extends Order> cls =order.getClass();
Field[] fields=cls.getDeclaredFields();for(Field f:fields){//获取订单表中字段上的不须入库映射的注解
Transient annon = f.getAnnotation(Transient.class);if(annon!=null) {continue;
}
f.setAccessible(true);if(f.getName().equals("serialVersionUID"))continue;//如果值不为空
if(f.get(order)!=null&&StringUtils.isNotBlank(f.get(order).toString())) {if(f.get(order) instanceofDate) {
map.put(humpToUnderline(f.getName()),DateUtil.dateToString((Date) f.get(order)));
}else{
map.put(humpToUnderline(f.getName()),f.get(order));
}
}else if(type.equals("0")) {//新增,获取空值
map.put(humpToUnderline(f.getName()),null);
}
}returnmap;
}/***
* 下划线命名转为驼峰命名
*
*@parampara
* 下划线命名的字符串*/
publicString underlineToHump(String para){
StringBuilder result=newStringBuilder();
String a[]=para.split("_");for(String s:a){if (!para.contains("_")) {
result.append(s);continue;
}if(result.length()==0){
result.append(s.toLowerCase());
}else{
result.append(s.substring(0, 1).toUpperCase());
result.append(s.substring(1).toLowerCase());
}
}returnresult.toString();
}/***
* 驼峰命名转为下划线命名
*
*@parampara
* 驼峰命名的字符串*/
publicString humpToUnderline(String para){
StringBuilder sb=newStringBuilder(para);int temp=0;//定位
if (!para.contains("_")) {for(int i=0;i
sb.insert(i+temp, "_");
temp+=1;
}
}
}returnsb.toString();
}
2417

被折叠的 条评论
为什么被折叠?



