sql select * from table where id in('aaa','bbb','ccc')原来IN中的数据量不能超过1000条,暂时处理方法是:如果大于1000的话就把它拆分成两个或多个in就OK了,所以上面的id in ( .......)就变成了 id in(str1) and id in(str2) and id in (str3).
String value ="'aaaaaaaaaa','bbbbbbbbb','cccccccc','dddddd','eeeeeeee'";
我要把这个String 转成 in ( 1000 个) and in (1000 个) and in ('''')
如何写。。 value.split(","); %1000
String value ="'aaaaaaaaaa','bbbbbbbbb','cccccccc','dddddd','eeeeeeee'";
我要把这个String 转成 in ( 1000 个) and in (1000 个) and in ('''')
如何写。。 value.split(","); %1000
StringBuilder sb = new StringBuilder(); for (int i = 1; i <= arr.length; i++) {
if (i == 1) {
sb.append("in(");
sb.append(arr[i - 1]);
sb.append(",");
} else if (i == arr.length) {
sb.append(arr[i - 1]);
sb.append(")");
} else {
if (i % 1000 == 0) {
sb.append(arr[i - 1]);
sb.append(") or in(");
} else {
sb.append(arr[i - 1]);
sb.append(",");
}
}
}
System.out.println(sb.toString());
去掉后变成'aaaaaaaaaa','bbbbbbbbb','cccccccc','dddddd','eeeeeeee',然后把它放到in()中。