解决oracle关键字in其中内容1000的限制

来源:互联网 发布:淘宝网 情趣内衣 模特 编辑:程序博客网 时间:2024/06/06 18:54
    /**
     * 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();
        }
    }
0 0
原创粉丝点击