如何通过''连接列表元素,使用带有'的流作为前缀和后缀
2022-09-04 05:26:10
我有一个如下插入语句
private final COLUMNS = "NAME,TYPE,STATUS,CATEGORY";
String values = list
.stream()
.collect(Collectors.joining(","));
String insertStatement = String.format("INSERT INTO ifc.documents (%s) VALUES (%s) ",COLUMNS,values);
我可以很容易地将列作为不需要引号,但对于值,我的SQL失败并抱怨上述代码缺少引号。
所以,我试过了
String values = list.stream()
.collect(Collectors.joining("','"));
但是这个也失败了。所以我做了一个解决方法,并添加了另一个语句前缀和后缀一个单引号,它开始工作。
values = "'"+values+"'";
更具体地说,如果我在列表中说“休息”,“测试”和“最佳”
则预期输出为
'rest','test','best'
有人知道更好的解决方案吗?