packagecom.lynch.erp.core.util;importjava.util.Map;importorg.apache.commons.collections.MapUtils;importorg.apache.commons.lang3.StringUtils;public classSQLUtils {/*** 通过Map拼接Insert SQL语句
*
*@paramtableName
*@paramdataMap
*@return
*/
public static String genSqlInsert(String tableName, MapdataMap) {if(MapUtils.isEmpty(dataMap)) {return null;
}//生成INSERT INTO table(field1,field2) 部分
StringBuffer sbField = newStringBuffer();//生成VALUES('value1','value2') 部分
StringBuffer sbValue = newStringBuffer();
sbField.append("INSERT INTO " + tableName.toLowerCase() + "(");for(Map.Entryentry : dataMap.entrySet()){
String mapKey=entry.getKey();
String mapValue=entry.getValue();if(StringUtils.equals(mapKey, CamelUnderlineUtil.PK)) {continue;
}
sbField.append("`" + mapKey + "`,");
sbValue.append("'" + mapValue + "',");
}
sbField=Util.deleteLastChar(sbField);
sbValue=Util.deleteLastChar(sbValue);return sbField.toString() + ") VALUES(" + sbValue.toString() + ")";
}/*** 通过Map拼接Update SQL语句
*
*@paramtableName
*@paramoperation
*@paramdataMap
*@return
*/
public static String genSqlUpdate(String tableName, MapdataMap) {if(MapUtils.isEmpty(dataMap)) {return null;
}
String idColumn=dataMap.get(CamelUnderlineUtil.PK);
String idValue=dataMap.get(idColumn);
StringBuffer sb= newStringBuffer();
sb.append("UPDATE "+ tableName.toLowerCase() +" SET ");for(Map.Entryentry : dataMap.entrySet()){
String mapKey=entry.getKey();
String mapValue=entry.getValue();if(StringUtils.equals(mapKey, CamelUnderlineUtil.PK)) {continue;
}if(StringUtils.equals(mapKey.toLowerCase(), idColumn)) {continue;
}
sb.append("`" + mapKey + "`='" + mapValue + "',");
}
sb=Util.deleteLastChar(sb);return String.format("%s where %s='%s'", sb.toString(), idColumn, idValue);
}
}