我有下面的清单
ArrayList<String> list1=new ArrayList<String>();
list1.add("abc");
list1.add("bdc");
list1.add("acr");
list1.add("bde");
我想在下面的select查询中使用这个列表
select * from emp where emp_name in ('abc','bdc','acr','bde')
我正在使用spring引导rest模板并尝试使用arraylist paramslist=new arraylist(),但失败了。有没有一个简单的方法来代替通过迭代转换成字符串。
1条答案
按热度按时间rur96b6h1#
您可以加入列表中的字符串以获得所需内容:
并生成如下查询:
但是,正如@andreas所指出的,这种方法容易受到sql注入攻击和语法错误(如果列表中的值具有sql保留关键字或特殊字符)。因此,应该使用prepared语句,而不是像这样连接字符串。