java map insert sql_JAVA通过Map拼接SQL语句(Insert Update语句)

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);

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值