MCPcopy Create free account
hub / github.com/Nemo1870/sql-parse / getTableNames

Method getTableNames

src/main/java/com/sql/parse/util/SqlParser.java:70–134  ·  view source on GitHub ↗

@title: getTableNames @desc 获取表名

()

Source from the content-addressed store, hash-verified

68 * @desc 获取表名
69 */
70 public List<String> getTableNames() {
71 switch (SqlParseConfig.getHandle()) {
72 case "com.github.jsqlparser":{
73 TablesNamesFinder tablesNamesFinder = new TablesNamesFinder();
74 if ("SELECT".equals(type)) {
75 Select select = (Select) statement;
76 return tablesNamesFinder.getTableList(select.getSelect());
77 } else if ("INSERT".equals(type)) {
78 Insert insert = (Insert) statement;
79 return tablesNamesFinder.getTableList(insert.getInsert());
80 } else if ("UPDATE".equals(type)) {
81 Update update = (Update) statement;
82 return tablesNamesFinder.getTableList(update.getUpdate());
83 } else if ("DELETE".equals(type)) {
84 Delete delete = (Delete) statement;
85 return tablesNamesFinder.getTableList(delete.getDelete());
86 } else {
87 throw BaseException.errorCode(SqlParseConstant.CODE_011);
88 }
89 }
90 case "com.alibaba.druid":{
91 List<String> list = new ArrayList<>();
92 if ("SELECT".equals(type)) {
93 com.sql.parse.statement.impl.druid.Select select = (com.sql.parse.statement.impl.druid.Select) statement;
94 SchemaStatVisitor visitor = new SchemaStatVisitor(SqlParseConfig.getDbType());
95 select.getSelect().accept(visitor);
96 Map<TableStat.Name, TableStat> tables = visitor.getTables();
97 Set<TableStat.Name> tableNameSet = tables.keySet();
98 for (TableStat.Name name : tableNameSet) {
99 String tableName = name.getName();
100 list.add(tableName);
101 }
102 return list;
103 } else if ("INSERT".equals(type)) {
104 com.sql.parse.statement.impl.druid.Insert insert = (com.sql.parse.statement.impl.druid.Insert) statement;
105 SQLInsertStatement i = insert.getInsert();
106 list.add(i.getTableName().getSimpleName());
107 if (insert.getInsert().getQuery() != null) {
108 SchemaStatVisitor visitor = new SchemaStatVisitor(SqlParseConfig.getDbType());
109 insert.getInsert().getQuery().accept(visitor);
110 Map<TableStat.Name, TableStat> tables = visitor.getTables();
111 Set<TableStat.Name> tableNameSet = tables.keySet();
112 for (TableStat.Name name : tableNameSet) {
113 String tableName = name.getName();
114 list.add(tableName);
115 }
116 }
117 return list;
118 } else if ("UPDATE".equals(type)) {
119 com.sql.parse.statement.impl.druid.Update update = (com.sql.parse.statement.impl.druid.Update) statement;
120 list.add(update.getUpdate().getTableName().getSimpleName());
121 return list;
122 } else if ("DELETE".equals(type)) {
123 com.sql.parse.statement.impl.druid.Delete delete = (com.sql.parse.statement.impl.druid.Delete) statement;
124 list.add(delete.getDelete().getTableName().getSimpleName());
125 return list;
126 } else {
127 throw BaseException.errorCode(SqlParseConstant.CODE_011);

Callers 2

testGetTableNamesMethod · 0.95
getTableNameMethod · 0.95

Calls 9

getHandleMethod · 0.95
getSelectMethod · 0.95
getInsertMethod · 0.95
getUpdateMethod · 0.95
getDeleteMethod · 0.95
errorCodeMethod · 0.95
getDbTypeMethod · 0.95
getNameMethod · 0.80
getTableNameMethod · 0.45

Tested by 1

testGetTableNamesMethod · 0.76