From 2fb2d6f3432dffb2ca12caff997b1ac894536cff Mon Sep 17 00:00:00 2001 From: zhouhongfa Date: Wed, 31 Jul 2019 20:04:41 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E5=A2=9E=E5=8A=A0=E5=8F=AA=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E8=A1=A8=E7=9A=84=E6=89=80=E6=9C=89=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=90=8D=E7=9A=84=E6=96=B9=E6=B3=95=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/wugui/tool/query/BaseQueryTool.java | 25 +++++++++++++++++++ .../wugui/tool/query/QueryToolInterface.java | 11 +++++++- 2 files changed, 35 insertions(+), 1 deletion(-) 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); }