如何将字符串数组格式化为sql查询?

ars1skjm  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(394)

这个问题在这里已经有答案了

准备好的替代条款声明(30个答案)
上个月关门了。
如何将字符串数组格式化为sql查询字符串?
预期结果: INSERT INTOtable(key1,key2,key3,key4) VALUES (?,?,?,?) 电流代码:

StringBuilder query = new StringBuilder("INSERT INTO `" + table + "` (");

for(int i=0;i<keys.length; i++){
    if(i == keys.length-1) query.append("`").append(keys[i]).append("`");
    else query.append("`").append(keys[i]).append("`,");
}
query.append(") VALUES (");

for(int i=0; i<values.length; i++){
    if(i == keys.length-1) query.append("?)");
    else query.append("?,");
}

我不知道怎样做得更简单。

luaexgnf

luaexgnf1#

你可以用 String.join(separator, array) 方法,或者,生成一个流并使用 joining 收藏家:

String names = Arrays.stream(keys)
  .map(x -> "`" + x + "`")
  .collect(Collectors.joining(",");

String qs = Arrays.stream(keys)
  .map(x -> "?")
  .collect(Collectors.joining(",");

return "INSERT INTO `" + table + "` (" + names + ") VALUES (" + qs + ")";

相关问题