數據庫插入數據類型歸類方法

String string = "chinese_nameenglish_nameletter_nameonce_namenative_placefiles_textphotospecialtyresearching";
String numStr = "alignmentjob_numunit_numsex_coderegion_codenation_codenationalityid_codeuser_idmarriage_codegat_codepolitics_codehealthy_codefaith_codeblood_codeid_deadlinecampus_numdiploma_codeeducated_codeinterval_timestaff_codeworker_codeteach_codefiles_numpresenting_codesubject_codefirst_subject_codesecond_subject_code";
Data d = siftField(request,response,string,numStr);
insert("base_info",d);
public static Data siftField(Request request, Response response,String string, String numStr ) {
Data d = data();
java.util.Map frm = toMap(request.body());
for (Object key : frm.keySet()) {
String keyStr = (String) key;
String value = frm.get(key).toString();
System.out.print(key+"+"+value);
boolean b1 = string.indexOf(keyStr) != -1;
boolean b2 = numStr.indexOf(keyStr) != -1;
if (b1) {
d.put(keyStr, frm.get(key));
} else if (b2) {
Integer num = Integer.parseInt(value);
d.put(keyStr, num);
} else {
Date date = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");
String dateStr1 = value;
try {
date = sdf.parse(dateStr1);
} catch (ParseException e) {
e.printStackTrace();
}
java.sql.Date date2 = new java.sql.Date(date.getTime());
d.put(keyStr, date2);
}
}
return d;
}

public static Map<String, Object> toMap(String urlencoded){
Map<String,Object> form = null;
try {
form = toMap(urlencoded, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return form;
}

@SuppressWarnings("unchecked")
public static Map<String, Object> toMap(String urlencoded, String encoding) throws UnsupportedEncodingException {
Map<String, Object> map = new LinkedHashMap<>();
for (String keyValue : urlencoded.trim().split("&")) {
String[] tokens = keyValue.trim().split("=");
String key = tokens[0];
String value = tokens.length == 1 ? null : URLDecoder.decode(tokens[1], encoding);
String[] keys = key.split("\\.");
Map<String, Object> pointer = map;
for (int i = 0; i < keys.length - 1; i++) {
String currentKey = keys[i];
Map<String, Object> nested = (Map<String, Object>) pointer.get(keys[i]);
if (nested == null) {
nested = new LinkedHashMap<>();
}
pointer.put(currentKey, nested);
pointer = nested;
}
pointer.put(keys[keys.length - 1], value);
}

return map;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章