jdbc参数个数不确定的问题

对于在如下场景下:

加入要查询的元组数目不一定,对于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));

结果为

如果有任何问题,欢迎留言。 

猜你喜欢

转载自blog.csdn.net/weixin_39912556/article/details/89135699