• 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;

    }

     

    }

  • 相关阅读:
    HTML5 程序设计笔记(一)
    前端插件小结
    Android 学习手札(三) 视图(View)
    Python32期【pthon基础 day 3】01 早测试
    Python32期【pthon基础 day 2】04 数据类型1-2
    Python32期【pthon基础 day 2】03 数据类型2
    Python32期【pthon基础 day 2】02 数据类型1
    Python32期【pthon基础 day 2】01 早测试
    Python32期【pthon基础 day 1】03 小作业
    Python32期【pthon基础 day 1】02 注释2
  • 原文地址:https://www.cnblogs.com/mabel/p/6062255.html
Copyright © 2020-2023  润新知