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, Map<String, String>dataMap) {
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.Entry<String, String>entry : 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, Map<String, String>dataMap) {
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.Entry<String, String>entry : 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);
}
}
JAVA通过Map拼接SQL语句(Insert Update语句)
免责声明:文章转载自《JAVA通过Map拼接SQL语句(Insert Update语句)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。
上篇go json序列化不填充默认值openwrt固件支持3G和4G上网卡下篇
宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=