zoukankan      html  css  js  c++  java
  • sql 语句对应关系显示

    import

    java.util.HashMap;

    import

    java.util.Map;

    import

    java.util.Map.Entry;

    public

    class SqlStringParseDemo {

    publicstaticvoid main(String[] args) {

    String

    sql = "Select {a.*},{b.*},{c.*} from tableA a,tableB b,tableC c";

    // key: a, value: tableA a

    Map<String, String>

    m = new HashMap();

    relevantAliasTable(

    m, sql);

    printAliasTable(

    m);

     

    }

    privatestaticvoid printAliasTable(Map<String, String> m) {

    for (Entry<String, String> obj : m.entrySet()) {

     

    System.

    out.println(obj.getKey() + " " + obj.getValue());

     

    }

     

    }

    privatestaticvoid relevantAliasTable(Map<String, String> m, String sql) {

     

    String[]

    elementSelect = getElement(sql);

    String[]

    tableAliasFrom = getTableAlias(sql);

    putElementsToMap(

    m, elementSelect);

    putTableAliasToMap(

    m, tableAliasFrom);

     

    }

    privatestaticvoid putTableAliasToMap(Map<String, String> m, String[] tableAliasFrom) {

    for(String obj:tableAliasFrom){

    String[]

    arr=obj.split(" ");

    m.put("{"+arr[1]+".*" +"}",obj);

     

    }

     

    }

    privatestaticvoid putElementsToMap(Map<String, String> m, String[] elementSelect) {

    // for (String obj : elementSelect) {

    //

    // m.put(obj, "");

    // }

    //

    // //System.out.println(m);

     

    }

    privatestatic String[] getTableAlias(String sql) {

    intbeginIndexOfTableAlias = sql.indexOf("from") + "from".length() + 1;

    intendIndexOfTableAlias = sql.length();

    String

    tableAlias = sql.substring(beginIndexOfTableAlias, endIndexOfTableAlias).trim();

     

    String[]

    arr = tableAlias.split(",");

     

     

     

    returnarr;

    }

    privatestatic String[] getElement(String sql) {

    intbeginIndexOfElement = "Select".length() + 1;

    intendIndexOfElement = sql.indexOf("from");

    String

    tableAlias = sql.substring(beginIndexOfElement, endIndexOfElement).trim();

     

    String[]

    arr1 = tableAlias.split(",");

    returnarr1;

    }

     

    }

  • 相关阅读:
    IIS下配置跨域设置Access-Control-Allow-Origin
    Arcgis去除Z,M值
    GIS开发之数据查询
    GIS开发之计算四参数,七参数
    Openlayer3之绚丽的界面框架-Materialize
    Openlayer3之C++接口在javaScript的封装使用
    Windows环境和Linux环境下Redis主从复制配置
    Centos 7 安装和配置Redis
    .net手动编写Windows服务
    SQL获取当前日期的年、月、日、时、分、秒数据
  • 原文地址:https://www.cnblogs.com/mabel/p/6062255.html
Copyright © 2011-2022 走看看