对于在如下场景下:
加入要查询的元组数目不一定,对于sql语句:
select * from table where id in(?,?,?....)
那么如何去传参数呢?可以通过StringBuilder或者StringBuffer来进行拼接参数。
上述的sql语句可以转化成
select * from table where id in(?), new Object[]{拼接的字符串}
拼接的字符串代码为:
public static String splicingPara(List<Long> list){
StringBuilder sb = new StringBuilder();
for(int i=0;i<list.size();i++){
if(i!=list.size()-1){
sb.append(list.get(i)).append(',');
}else{
sb.append(list.get(i));
}
}
return sb.toString();
}
对于上述拼接的例子:
List<Long> llist = new ArrayList<Long>();
llist.add((long) 100);
llist.add((long) 100);
llist.add((long) 100);
llist.add((long) 100);
System.out.println(splicingPara(llist));
结果为
如果有任何问题,欢迎留言。