/**
* oracle in的1000限制的解决
*
* @param list
* @param param
* @return
*/
public static String revertList(List<String> list, String param) {
int len = list.size();
int iCount = (len + 1000) / 1000;
Boolean noRemainderd = ((len % 1000) == 0); //判断是否整除 true:整除,false:没有整除
if (noRemainderd) {
iCount--;
}
int count = 0;
int jBig = 0;
StringBuilder sbString = new StringBuilder();
for (int i = 0; i < iCount; i++) {
jBig = (i + 1) * 1000;
for (int j = i * 1000; j < jBig && j < len; j++) {
sbString.append("'").append(list.get(j).toString()).append("',");
}
sbString.deleteCharAt(sbString.length() - 1);
if (i < iCount - 1) {
sbString.append(")").append(" or " + param + " in ( ");
}
}
if (StringUtil.isEmpty(sbString.toString())){
return "''";
}else {
return sbString.toString();
}
}
* oracle in的1000限制的解决
*
* @param list
* @param param
* @return
*/
public static String revertList(List<String> list, String param) {
int len = list.size();
int iCount = (len + 1000) / 1000;
Boolean noRemainderd = ((len % 1000) == 0); //判断是否整除 true:整除,false:没有整除
if (noRemainderd) {
iCount--;
}
int count = 0;
int jBig = 0;
StringBuilder sbString = new StringBuilder();
for (int i = 0; i < iCount; i++) {
jBig = (i + 1) * 1000;
for (int j = i * 1000; j < jBig && j < len; j++) {
sbString.append("'").append(list.get(j).toString()).append("',");
}
sbString.deleteCharAt(sbString.length() - 1);
if (i < iCount - 1) {
sbString.append(")").append(" or " + param + " in ( ");
}
}
if (StringUtil.isEmpty(sbString.toString())){
return "''";
}else {
return sbString.toString();
}
}