diff --git a/datax-web/src/main/java/com/wugui/tool/query/BaseQueryTool.java b/datax-web/src/main/java/com/wugui/tool/query/BaseQueryTool.java index 7aa09cd0..aa1bea46 100644 --- a/datax-web/src/main/java/com/wugui/tool/query/BaseQueryTool.java +++ b/datax-web/src/main/java/com/wugui/tool/query/BaseQueryTool.java @@ -250,4 +250,29 @@ public abstract class BaseQueryTool implements QueryToolInterface { } return res; } + + + @Override + public List getColumnNames(String tableName) { + + List columns = Lists.newArrayList(); + + //获取查询指定表所有字段的sql语句 + String querySql = sqlBuilder.getSQLQueryFields(tableName); + logger.info("querySql: {}", querySql); + + try { + //获取所有字段 + Statement statement = connection.createStatement(); + ResultSet resultSet = statement.executeQuery(querySql); + ResultSetMetaData metaData = resultSet.getMetaData(); + int columnCount = metaData.getColumnCount(); + for (int i = 1; i <= columnCount; i++) { + columns.add(metaData.getColumnName(i)); + } + } catch (SQLException e) { + e.printStackTrace(); + } + return columns; + } } diff --git a/datax-web/src/main/java/com/wugui/tool/query/QueryToolInterface.java b/datax-web/src/main/java/com/wugui/tool/query/QueryToolInterface.java index fd390f40..e18a9d9d 100644 --- a/datax-web/src/main/java/com/wugui/tool/query/QueryToolInterface.java +++ b/datax-web/src/main/java/com/wugui/tool/query/QueryToolInterface.java @@ -37,10 +37,19 @@ public interface QueryToolInterface { public List> getTables(); /** - * 根据表名和类型映射列表获取所有字段 + * 根据表名获取所有字段 * * @param tableName * @return2 */ public List getColumns(String tableName); + + + /** + * 根据表名和获取所有字段名称(不包括表名) + * + * @param tableName + * @return2 + */ + public List getColumnNames(String tableName); }