我有一个像这样的数组列表:
List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
我想将此信息插入到 SQL 查询字符串中,如下所示:
AND Column_X in ('A' ,'B' , 'C')
你能帮我吗?
编辑:
谢谢你:) 我找到了其他解决方案,这就是我想要的:
Iterator<String> iterator = list.iterator();
String sqlStr= "";
while (iterator.hasNext()){
sqlStr+= "'"+iterator.next()+"'";
if(iterator.hasNext()) sqlStr+= ',';
}
System.out.println(sqlStr);
最佳答案
您可以使用 StringBuilder - 自己迭代列表,构造一个“,”分隔的字符串。或者使用 apache commons 项目中已经执行此操作的有用 API,例如 StringUtils.join()
。
请记住,参数需要正确转义以避免语法错误,或更糟糕的是 SQL 注入(inject)攻击
关于java - 如何从 ArrayList 收集 SQL 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15435928/