首页 > 数据库 >获取所有行政区划代码的最高级,用于sql的like查询

获取所有行政区划代码的最高级,用于sql的like查询

时间:2023-03-03 09:04:18浏览次数:38  
标签:String regionCodeLinkList 最高级 substring reginCode sql proveList List like

    /**
     * 获取所有行政区划代码的最高级 用于sql的like查询
     * @param regionCodeLevels
     * @return
     */
    public static List<String> getAllFirstRegionCode(String regionCodeLevels){
        List<String> regionCodeList = new ArrayList<>();
        LinkedHashSet<String> regionCodeLinkList = new LinkedHashSet<>();//自动去重
        if(StringUtils.isNotEmpty(regionCodeLevels)){
            String[] regionLevelArrays = regionCodeLevels.split(",");
            for (String regionLevels:regionLevelArrays) {
                String[] regionLevelArray = regionLevels.split("_");
                String reginCode = regionLevelArray[0];
                String regionLevel = regionLevelArray[1];
                switch (regionLevel){
                    case "1":{
                        regionCodeLinkList.add(reginCode.substring(0,2));//35%
                        break;
                    }
                    case "2":{
                        String proveCode = reginCode.substring(0,2);
                        List<String> proveList = regionCodeLinkList.stream().filter(d->d.equals(proveCode)).collect(Collectors.toList());
                        if(proveList != null && proveList.size()>0){ //如果已经存在上一级则跳过添加
                            continue;
                        }else {
                            regionCodeLinkList.add(reginCode.substring(0,4));//3501%
                        }
                        break;
                    }
                    case "3":{
                        String proveCode = reginCode.substring(0,2);
                        List<String> proveList = regionCodeLinkList.stream().filter(d->d.equals(proveCode)).collect(Collectors.toList());
                        String cityCode = reginCode.substring(0,4);
                        List<String> cityList = regionCodeLinkList.stream().filter(d->d.equals(cityCode)).collect(Collectors.toList());
                        if((cityList != null && cityList.size()>0) || (proveList != null && proveList.size()>0)){ //如果已经存在上一级、上上级则跳过添加
                            continue;
                        }else {
                            regionCodeLinkList.add(reginCode);
                        }
                        break;
                    }
                    default:break;
                }
            }
            for (String str:regionCodeLinkList) {
                regionCodeList.add(str);
            }
        }
        return  regionCodeList;
    }

 

标签:String,regionCodeLinkList,最高级,substring,reginCode,sql,proveList,List,like
From: https://www.cnblogs.com/ht-privete-logs/p/17174310.html

相关文章

  • Mybatis动态SQL语句大全
    读完这篇文章里你能收获到Mybatis动态SQL语句大全Mybatis中如何定义变量Mybatis中如何提取公共的SQL片段1.If语句需求:根据作者名字和博客名字来查询博客!如果作......
  • MySQL优化
    总结一下常见的mysql优化方案1.提高Type的级别最好是使用内存表级别为system最差的是All2.尽量不使用函数3.尽量不适用表达式4.选择索引尽量选择接近1的字段作为......
  • mysql在开始与结束时间过滤出有效的价格且结束时间可以为空
    背景在商品配置中设置有售卖时间,同一个商品可以设置多组不同的售卖时间,其中开始时间必填,结束时间可以不填,但是同一时刻只会有一个正在生效的时间区间。现在要求我们针对......
  • Android Studio 之连接mysql实现添加功能
    昨天经过几个小时的奋斗,终于是连接上了mysql说实话过程十分艰辛,包括查ip换网络改权限改数据库的表改网络等等之后也尝试过在自己电脑上下另一个版本的mysql但是都以......
  • RecycleView+Recycle.Adapter<Holder>+SQLite增删改查+共享数据+IO流文件保存
    首先是本地文件进行读写操作,具体实现如下:          通过文件字节输入输出流会把文件保存至data/data/files文件夹下面   具体使用如下所示:op......
  • C#-EF Core使用MySQL数据库
    简介EntityFrameworkCore(EFCore)是微软推荐的基于.NETCore的应用程序数据访问技术。开源,轻量级,可扩展并且支持跨平台开发。EFCore是一种对象关系映射器(ORM),通过应用......
  • mysql数据库字符集和排序规则
    一般而言,我们可能选择utf8mb4这个字符集,而不选择utf8.这个是因为MySQL的utf8并不是真正的UTF8字符集,MySQL的utf8字符编码只有三个字节,节省空间但不能表达全部的UTF-8,只能......
  • SQL注入之延时注入(10)
    以下提供两种方式进行延时注入GET/sqli/Less-10/?id=1"+and+sleep(5)--+HTTP/1.1Host:192.168.245.146:6101User-Agent:Mozilla/5.0(X11;Linuxx86_64;rv:102.0......
  • [已解决]Android studio连接远程MySQL问题解决
    我电脑安装的是8.0的MySQL,导入使用的jar包是mysql-connector-java-5.0.71、首先先按照大佬的链接配置好一些东西,注意!已经安装8.0版本MySQL的保持原样就行,不用重新安装5.0......
  • mysql数据库的复制过虑器和mycat的安装使用
    今天分享的是mysql数据库的复制过滤器,其中包括GTID复制以及监控和维护,还有MYCAT的安装及其使用mycat使用过程中所需要注意的事项复制过滤器GTID复制GTID配置范例主服务器vim......