java处理字符串、分隔字符串、数据库in拼接字符串(工具类)

不凡 3748 1

java处理字符串、分隔字符串、数据库in拼接字符串工具类。项目中用的非常实用,分享给大家(文章底部提供工具类下载)

java处理字符串、分隔字符串、数据库in拼接字符串(工具类)-第1张图片-爱制作博客

public class CommonTool {
    private CommonTool() {
    }

    private static class CommonToolHandler {
        private static CommonTool commonTool = new CommonTool();
    }

    public static CommonTool getInstance() {

        return CommonToolHandler.commonTool;

    }

    public String listToString(List<String> stringList) {
        if (stringList == null) {
            return null;
        }

        StringBuilder result = new StringBuilder();
        boolean flag = false;
        for (String string : stringList) {
            if (flag) {
                result.append(",");
            } else {
                flag = true;
            }
            result.append(string);
        }
        return result.toString();
    }

    public String listToString(List<String> stringList, String sliptFlag) {
        if (stringList == null) {
            return null;
        }

        StringBuilder result = new StringBuilder();
        boolean flag = false;
        for (String string : stringList) {
            if (flag) {
                result.append(sliptFlag);
            } else {
                flag = true;
            }
            result.append(string);
        }
        return result.toString();
    }

    public List<String> stringToList(String strings, String sliptFlag) {
        if (strings == null||strings.equals("")) {
            return null;
        }

        List<String> strList = new ArrayList<String>();
        for (String string : strings.split(sliptFlag)) {
            strList.add(string);
        }
        return strList;
    }

    public String getOracleSQLIn(List<String> ids, String field) {

        StringBuilder builder = new StringBuilder();

        if (ids.size() > 0) {

            int minNum = Math.min(ids.size(), 1000);

            int len = ids.size();

            int size = len % minNum;

            if (size == 0) {

                size = len / minNum;

            } else {

                size = (len / minNum) + 1;

            }

            for (int i = 0; i < size; i++) {

                int fromIndex = i * minNum;

                int toIndex = Math.min(fromIndex + minNum, len);

                String productId = StringUtils.defaultIfEmpty(StringUtils.join(ids.subList(fromIndex, toIndex), "','"), "");

                if (i != 0) {

                    builder.append(" or ");

                }

                builder.append(field).append(" in ('").append(productId).append("')");

            }

            return "(" + builder.toString() + ")";

        }

        return "(" + field + " in ('')" + ")";

    }

    public String getOracleSQLNotIn(List<String> ids, String field) {

        StringBuilder builder = new StringBuilder();

        if (ids.size() > 0) {

            int minNum = Math.min(ids.size(), 1000);

            int len = ids.size();

            int size = len % minNum;

            if (size == 0) {

                size = len / minNum;

            } else {

                size = (len / minNum) + 1;

            }

            for (int i = 0; i < size; i++) {

                int fromIndex = i * minNum;

                int toIndex = Math.min(fromIndex + minNum, len);

                String productId = StringUtils.defaultIfEmpty(StringUtils.join(ids.subList(fromIndex, toIndex), "','"), "");

                if (i != 0) {

                    builder.append(" or ");

                }

                builder.append(field).append(" not in ('").append(productId).append("')");

            }

            return "(" + builder.toString() + ")";

        }

        return "(" + field + " not in ('')" + ")";

    }

}

java处理字符串、分隔字符串、数据库in拼接字符串(工具类)-第2张图片-爱制作博客CommonTool.java


标签: java字符串 工具类 String

上一篇当前分类已是最后一篇

下一篇java后台时间处理(工具类)

发布评论 1条评论)

  • Refresh code

评论列表

2018-08-12 17:05:23

很好,感谢分享