From 86aac8f97bcd7361a34f3c2ffffb956bbb954665 Mon Sep 17 00:00:00 2001
From: lwj <3529558005@qq.com>
Date: Fri, 30 Aug 2024 00:44:32 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE=E8=B5=84?=
=?UTF-8?q?=E4=BA=A7=E6=95=B0=E6=8D=AE=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/com/muyu/domain/DataValue.java | 21 +
.../src/main/java/com/muyu/domain/Dept.java | 2 +-
.../src/main/java/com/muyu/domain/Source.java | 7 +
.../main/java/com/muyu/domain/TableInfo.java | 3 +-
.../java/com/muyu/domain/enums/DataType.java | 48 +
cloud-etl-server/pom.xml | 6 +
.../muyu/cloud/etl/MuYuEtlApplication.java | 2 -
.../etl/controller/DataValueController.java | 28 +
.../etl/controller/SourceController.java | 9 +-
.../etl/controller/TableInfoController.java | 12 +
.../cloud/etl/service/DataValueService.java | 11 +
.../cloud/etl/service/TableInfoService.java | 8 +-
.../service/impl/DataValueServiceImpl.java | 135 +
.../etl/service/impl/SourceServiceImpl.java | 17 +-
.../service/impl/StructureServiceImpl.java | 1 +
.../etl/service/impl/TableServiceImpl.java | 121 +-
.../src/main/resources/bootstrap.yml | 2 +-
.../main/resources/mapper/SourceMapper.xml | 4 +-
logs/cloud-etl/error.log | 13487 ++++------------
logs/cloud-etl/info.log | 855 +-
20 files changed, 3834 insertions(+), 10945 deletions(-)
create mode 100644 cloud-etl-common/src/main/java/com/muyu/domain/DataValue.java
create mode 100644 cloud-etl-common/src/main/java/com/muyu/domain/enums/DataType.java
create mode 100644 cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/DataValueController.java
create mode 100644 cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/DataValueService.java
create mode 100644 cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/DataValueServiceImpl.java
diff --git a/cloud-etl-common/src/main/java/com/muyu/domain/DataValue.java b/cloud-etl-common/src/main/java/com/muyu/domain/DataValue.java
new file mode 100644
index 0000000..6971445
--- /dev/null
+++ b/cloud-etl-common/src/main/java/com/muyu/domain/DataValue.java
@@ -0,0 +1,21 @@
+package com.muyu.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class DataValue {
+
+ private String key;
+
+ private String label;
+
+ private String type;
+
+ private Object value;
+}
diff --git a/cloud-etl-common/src/main/java/com/muyu/domain/Dept.java b/cloud-etl-common/src/main/java/com/muyu/domain/Dept.java
index 68a43d8..1af90a2 100644
--- a/cloud-etl-common/src/main/java/com/muyu/domain/Dept.java
+++ b/cloud-etl-common/src/main/java/com/muyu/domain/Dept.java
@@ -15,7 +15,7 @@ import lombok.experimental.SuperBuilder;
@NoArgsConstructor
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
-@TableName(value = "dept",autoResultMap = true)
+@TableName(value = "",autoResultMap = true)
public class Dept extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
diff --git a/cloud-etl-common/src/main/java/com/muyu/domain/Source.java b/cloud-etl-common/src/main/java/com/muyu/domain/Source.java
index 9a9e1fb..3989cf4 100644
--- a/cloud-etl-common/src/main/java/com/muyu/domain/Source.java
+++ b/cloud-etl-common/src/main/java/com/muyu/domain/Source.java
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -19,18 +21,22 @@ import lombok.experimental.SuperBuilder;
@TableName(value ="source",autoResultMap = true) //数据库表相关
public class Source extends BaseEntity {
/** 主键 */
+
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 接入源名称 */
@Excel(name = "接入源名称")
+ @NotBlank
private String dataResourceName;
/** 数据来源系统名称 */
@Excel(name = "数据来源系统名称")
+ @NotBlank
private String dataSourcesSystemName;
/** 主机ip地址 */
+ @NotNull
@Excel(name = "主机ip地址")
private String host;
@@ -38,6 +44,7 @@ public class Source extends BaseEntity {
@Excel(name = "端口")
private String port;
+
/** 数据接入类型 */
@Excel(name = "数据接入类型")
private String databaseType;
diff --git a/cloud-etl-common/src/main/java/com/muyu/domain/TableInfo.java b/cloud-etl-common/src/main/java/com/muyu/domain/TableInfo.java
index eea8bd2..e8c7cec 100644
--- a/cloud-etl-common/src/main/java/com/muyu/domain/TableInfo.java
+++ b/cloud-etl-common/src/main/java/com/muyu/domain/TableInfo.java
@@ -26,6 +26,7 @@ public class TableInfo extends BaseEntity {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ //数据源主键
private Long basicId;
/** 表名称/数据库 */
@@ -36,7 +37,7 @@ public class TableInfo extends BaseEntity {
@Excel(name = "表备注")
private String tableRemark;
- /** 表备注 */
+ /** 表的数据来源 */
@Excel(name = "数据来源类型")
private String type;
diff --git a/cloud-etl-common/src/main/java/com/muyu/domain/enums/DataType.java b/cloud-etl-common/src/main/java/com/muyu/domain/enums/DataType.java
new file mode 100644
index 0000000..6e4ee51
--- /dev/null
+++ b/cloud-etl-common/src/main/java/com/muyu/domain/enums/DataType.java
@@ -0,0 +1,48 @@
+package com.muyu.domain.enums;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+
+public enum DataType {
+ VARCHAR("varchar",String.class,"String"),
+ BIGINT("bigint",Long.class,"Long"),
+ INT("int",Integer.class,"Integer"),
+ DECIMAL("decimal", BigDecimal.class,"BigDecimal"),
+ DATETIME("datetime", Date.class,"Date"),
+ TEXT ("text",String.class,"String"),
+ DOUBLE ("double",Double.class,"Double");
+
+ private final String sourceType;
+ private final Class> targetType;
+ private final String javaType;
+
+ DataType(String sourceType, Class> targetType, String javaType) {
+ this.sourceType = sourceType;
+ this.targetType = targetType;
+ this.javaType = javaType;
+ }
+
+ public static Class convertType(String type){
+ for (DataType dataType : DataType.values()) {
+ if(dataType.sourceType.equalsIgnoreCase(type)){
+ return dataType.targetType;
+ }
+ }
+ return String.class;
+ }
+
+
+ public static String getJavaType(String type){
+ for (DataType value : DataType.values()) {
+ if(value.sourceType.equalsIgnoreCase(type)){
+ return value.javaType;
+ }
+ }
+ return String.class.getName();
+ }
+
+
+
+
+}
diff --git a/cloud-etl-server/pom.xml b/cloud-etl-server/pom.xml
index 73454ce..55818bf 100644
--- a/cloud-etl-server/pom.xml
+++ b/cloud-etl-server/pom.xml
@@ -121,6 +121,12 @@
+
+ 1.8
+ 1.8
+ -parameters
+
+
cloud-source
diff --git a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/MuYuEtlApplication.java b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/MuYuEtlApplication.java
index 9c1999d..86f6799 100644
--- a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/MuYuEtlApplication.java
+++ b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/MuYuEtlApplication.java
@@ -2,7 +2,6 @@ package com.muyu.cloud.etl;
import com.muyu.common.security.annotation.EnableCustomConfig;
import com.muyu.common.security.annotation.EnableMyFeignClients;
-import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -11,7 +10,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableCustomConfig
@EnableMyFeignClients
@SpringBootApplication
-@MapperScan("com.muyu.cloud.etl.mapper")
public class MuYuEtlApplication {
public static void main (String[] args) {
SpringApplication.run(MuYuEtlApplication.class, args);
diff --git a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/DataValueController.java b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/DataValueController.java
new file mode 100644
index 0000000..126e8e0
--- /dev/null
+++ b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/DataValueController.java
@@ -0,0 +1,28 @@
+package com.muyu.cloud.etl.controller;
+
+import com.muyu.cloud.etl.service.DataValueService;
+import com.muyu.domain.DataValue;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/DataValue")
+public class DataValueController {
+ @Autowired
+ private DataValueService dataValueService;
+
+
+ //获取字段值
+ @PostMapping("/findTableValue")
+ public List> findTableValue(@RequestParam("basicId") Long basicId,@RequestParam("sql") String sql) {
+ return dataValueService.findTableValue(basicId,sql);
+ }
+
+ //获取字段值
+ @PostMapping("/findTableValueList")
+ public List> findTableValueList(@RequestParam Long basicId,@RequestParam String tableName ) {
+ return dataValueService.findTableValueList(basicId,tableName);
+ }
+}
diff --git a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/SourceController.java b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/SourceController.java
index 49aca74..418a21b 100644
--- a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/SourceController.java
+++ b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/SourceController.java
@@ -10,6 +10,7 @@ import com.muyu.domain.req.SourceReq;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -21,8 +22,7 @@ public class SourceController extends BaseController {
@Autowired
private SourceService sourceService;
-
- //列表
+ //数据源列表
@PostMapping("/list")
public Result> list(@RequestBody SourceReq sourceReq) {
startPage();
@@ -30,6 +30,7 @@ public class SourceController extends BaseController {
return getDataTable(list);
}
+
/*
* 导出
*/
@@ -55,7 +56,7 @@ public class SourceController extends BaseController {
* 新增基础信息
*/
@PostMapping("/insert")
- public Result add(@RequestBody Source sourceReq) {
+ public Result add(@Validated @RequestBody Source sourceReq) {
return toAjax(sourceService.insertBasicConfigInfo(sourceReq));
}
@@ -100,6 +101,8 @@ public class SourceController extends BaseController {
+ //数据资产展示
+
diff --git a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/TableInfoController.java b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/TableInfoController.java
index aea2da0..df0e3d5 100644
--- a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/TableInfoController.java
+++ b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/controller/TableInfoController.java
@@ -65,10 +65,22 @@ public class TableInfoController {
).toList();
}
+
+
@GetMapping("/findStruceure/{id}")
public Result> findStruceure(@PathVariable("id") Integer id) {
List structureList= structureService.findStructurelistS(id);
return Result.success(structureList);
}
+
+
+//
+//
+// @PostMapping("/findTableValueS")
+// public List findTableValueS(@RequestParam Long basicId,@RequestParam String tableName ) {
+// return tableInfoService.findTableValues(basicId,tableName);
+// }
+
+
}
diff --git a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/DataValueService.java b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/DataValueService.java
new file mode 100644
index 0000000..3930a70
--- /dev/null
+++ b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/DataValueService.java
@@ -0,0 +1,11 @@
+package com.muyu.cloud.etl.service;
+
+import com.muyu.domain.DataValue;
+
+import java.util.List;
+
+public interface DataValueService {
+ List< List >findTableValue(Long basicId, String sql);
+
+ List> findTableValueList(Long basicId, String tableName);
+}
diff --git a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/TableInfoService.java b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/TableInfoService.java
index bee1700..817614d 100644
--- a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/TableInfoService.java
+++ b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/TableInfoService.java
@@ -2,7 +2,6 @@ package com.muyu.cloud.etl.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.TableInfo;
-import com.muyu.domain.rep.TableInfoRep;
import java.util.List;
@@ -12,5 +11,12 @@ public interface TableInfoService extends IService {
List findSourceList();
+
+
+// List findTableValue(Long basicId, String sql);
+//
+// List findTableValues(Long basicId, String tableName);
+
+//
// List findTablesList(Long id);
}
diff --git a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/DataValueServiceImpl.java b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/DataValueServiceImpl.java
new file mode 100644
index 0000000..bf700c4
--- /dev/null
+++ b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/DataValueServiceImpl.java
@@ -0,0 +1,135 @@
+package com.muyu.cloud.etl.service.impl;
+
+import com.muyu.cloud.etl.service.DataValueService;
+import com.muyu.cloud.etl.service.SourceService;
+import com.muyu.domain.DataValue;
+import com.muyu.domain.Source;
+import com.muyu.domain.enums.DataType;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.sql.*;
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@Log4j2
+public class DataValueServiceImpl implements DataValueService {
+ @Autowired
+ private SourceService sourceService;
+
+ @Override
+ public List> findTableValue(Long basicId, String sql) {
+ Source source = sourceService.getInfo(basicId);
+ String host = source.getHost();
+ String port = source.getPort();
+ String databaseName = source.getDatabaseName();
+ String databaseType = source.getDatabaseType();
+ String url = "jdbc:" + databaseType + "://" + host + ":" + port + "/" + databaseName + "?" + source.getConnectionParams();
+ String user = source.getUsername();
+ String password = source.getPassword();
+ List> list = new ArrayList<>();
+ Connection conn=null;
+
+ try {
+ ArrayList dataValues = new ArrayList<>();
+ conn = DriverManager.getConnection(url, user, password);
+ try {
+ PreparedStatement preparedStatement = conn.prepareStatement(sql);
+ ResultSet resultSet = preparedStatement.executeQuery();
+ ResultSetMetaData metaData = resultSet.getMetaData();
+ int columnCount = metaData.getColumnCount();
+ while (resultSet.next()){
+ for (int i = 1; i <= columnCount; i++) {
+
+ String columnTypeName = metaData.getColumnTypeName(i);
+
+ DatabaseMetaData metaData1 = conn.getMetaData();
+
+ ResultSet columns = metaData1.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
+
+ String remarks =null;
+
+ while (columns.next()){
+ remarks = columns.getString("REMARKS");
+ log.info("字段备注:"+remarks);
+ }
+ DataValue build = DataValue.builder()
+ .key(metaData.getColumnName(i))
+ .label(remarks)
+ .value(resultSet.getObject(i, DataType.convertType(columnTypeName)))
+ .type(DataType.getJavaType(columnTypeName))
+ .build();
+ dataValues.add(build);
+ }
+ list.add(dataValues);
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+
+
+ return list;
+ }
+
+ @Override
+ public List> findTableValueList(Long basicId, String tableName) {
+ Source source = sourceService.getInfo(basicId);
+ String host = source.getHost();
+ String port = source.getPort();
+ String databaseName = source.getDatabaseName();
+ String databaseType = source.getDatabaseType();
+ String url = "jdbc:" + databaseType + "://" + host + ":" + port + "/" + databaseName + "?" + source.getConnectionParams();
+ String user = source.getUsername();
+ String password = source.getPassword();
+ List> list = new ArrayList<>();
+ Connection conn=null;
+
+ try {
+ ArrayList dataValues = new ArrayList<>();
+ conn = DriverManager.getConnection(url, user, password);
+ try {
+ PreparedStatement preparedStatement = conn.prepareStatement("SELECT * FROM " + tableName);
+ ResultSet resultSet = preparedStatement.executeQuery();
+ ResultSetMetaData metaData = resultSet.getMetaData();
+ int columnCount = metaData.getColumnCount();
+ while (resultSet.next()){
+ for (int i = 1; i <= columnCount; i++) {
+
+ String columnTypeName = metaData.getColumnTypeName(i);
+
+ DatabaseMetaData metaData1 = conn.getMetaData();
+
+ ResultSet columns = metaData1.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
+
+ String remarks =null;
+
+ while (columns.next()){
+ remarks = columns.getString("REMARKS");
+ log.info("字段备注:"+remarks);
+ }
+ DataValue build = DataValue.builder()
+ .key(metaData.getColumnName(i))
+ .label(remarks)
+ .value(resultSet.getObject(i, DataType.convertType(columnTypeName)))
+ .type(DataType.getJavaType(columnTypeName))
+ .build();
+ dataValues.add(build);
+ }
+ list.add(dataValues);
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+
+
+ return list;
+ }
+}
diff --git a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/SourceServiceImpl.java b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/SourceServiceImpl.java
index c3a1131..85fdcaa 100644
--- a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/SourceServiceImpl.java
+++ b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/SourceServiceImpl.java
@@ -12,6 +12,7 @@ import com.muyu.domain.Source;
import com.muyu.domain.Structure;
import com.muyu.domain.TableInfo;
import com.muyu.domain.req.SourceReq;
+import groovy.lang.Lazy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import redis.clients.jedis.Jedis;
@@ -28,6 +29,7 @@ import java.util.concurrent.Executors;
@Service
public class SourceServiceImpl extends ServiceImpl implements SourceService {
@Autowired
+ @Lazy
private SourceMapper sourceMapper;
@Autowired
private TableInfoService tableInfoService;
@@ -81,7 +83,6 @@ public class SourceServiceImpl extends ServiceImpl impleme
try {
conn = DriverManager.getConnection(url, user, password);
System.out.println("Connected to the MySQL server successfully.");
-
// DatabaseMetaData metaData = conn.getMetaData();
//
// ResultSet rs = metaData.getTables(databaseName,
@@ -94,8 +95,6 @@ public class SourceServiceImpl extends ServiceImpl impleme
// rs.close(); // 记得关闭ResultSet
//
// System.out.println(conn);
-
-
// TableInfo tableInfoInsert = TableInfo.builder()
// .basicId(source.getId())
// .parentId(0L)
@@ -106,8 +105,6 @@ public class SourceServiceImpl extends ServiceImpl impleme
// .createBy(SecurityUtils.getUsername())
// .createTime(new Date())
// .build();
-
-
} catch (SQLException e) {
return 0;
}
@@ -130,7 +127,6 @@ public class SourceServiceImpl extends ServiceImpl impleme
conn = DriverManager.getConnection(url, user, password);
System.out.println("Connected to the MySQL server successfully.");
-
TableInfo tableInfoInsert = TableInfo.builder()
.basicId(source.getId())
.parentId(0L)
@@ -155,7 +151,7 @@ public class SourceServiceImpl extends ServiceImpl impleme
DatabaseMetaData metaData = conn.getMetaData();
ResultSet rs = metaData.getTables(databaseName,
- null, "%", new String[]{"TABLE"});
+ null, "%", new String[]{"TABLE", "VIEW"});
while (rs.next()) {
String tableName = rs.getString("TABLE_NAME"); // 或者 rs.getString(3),但使用列名更清晰
@@ -300,6 +296,13 @@ public class SourceServiceImpl extends ServiceImpl impleme
}});
});
+
+// PreparedStatement preparedStatement = conn.prepareStatement("select columnName from " + table.getTableName());
+// ResultSet resultSet1 = preparedStatement.executeQuery();
+// while (resultSet1.next()) {
+//
+// }
+
}
threadPool.shutdown();
ps.close();
diff --git a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/StructureServiceImpl.java b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/StructureServiceImpl.java
index 762c411..a06e007 100644
--- a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/StructureServiceImpl.java
+++ b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/StructureServiceImpl.java
@@ -27,5 +27,6 @@ public class StructureServiceImpl extends ServiceImpl list = this.list(structureLambdaQueryWrapper);
return list;
}
+
}
diff --git a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/TableServiceImpl.java b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/TableServiceImpl.java
index 01d8afc..c73b6e9 100644
--- a/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/TableServiceImpl.java
+++ b/cloud-etl-server/src/main/java/com/muyu/cloud/etl/service/impl/TableServiceImpl.java
@@ -5,16 +5,21 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cloud.etl.mapper.TableInfoMapper;
import com.muyu.cloud.etl.service.TableInfoService;
import com.muyu.domain.TableInfo;
+import groovy.lang.Lazy;
+import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
+@Log4j2
public class TableServiceImpl extends ServiceImpl implements TableInfoService {
@Autowired
+ @Lazy
private TableInfoMapper tableInfoMapper;
-
+// @Autowired
+// private SourceService sourceService;
@Override
public TableInfo selectTableInfoByName(TableInfo tableInfoInsert) {
LambdaQueryWrapper tableInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -36,6 +41,120 @@ public class TableServiceImpl extends ServiceImpl im
return tableInfoList;
}
+
+// @Override
+// public List findTableValue(Long basicId, String sql) {
+// Source source = sourceService.getInfo(basicId);
+// String host = source.getHost();
+// String port = source.getPort();
+// String databaseName = source.getDatabaseName();
+// String databaseType = source.getDatabaseType();
+// String url = "jdbc:" + databaseType + "://" + host + ":" + port + "/" + databaseName + "?" + source.getConnectionParams();
+// String user = source.getUsername();
+// String password = source.getPassword();
+//
+// List list = new ArrayList<>();
+//
+//
+// Connection conn=null;
+// try {
+// conn = DriverManager.getConnection(url, user, password);
+// try {
+// PreparedStatement preparedStatement = conn.prepareStatement(sql);
+//
+// ResultSet resultSet = preparedStatement.executeQuery();
+// ResultSetMetaData metaData = resultSet.getMetaData();
+// int columnCount = metaData.getColumnCount();
+//
+//
+// while (resultSet.next()){
+// for (int i = 1; i <= columnCount; i++) {
+// String columnTypeName = metaData.getColumnTypeName(i);
+//
+// DatabaseMetaData metaData1 = conn.getMetaData();
+// ResultSet columns = metaData1.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
+// String remarks =null;
+// while (columns.next()){
+// remarks = columns.getString("REMARKS");
+//
+// log.info("字段备注:"+remarks);
+// }
+// DataValue build = DataValue.builder()
+// .key(metaData.getColumnName(i))
+// .label(remarks)
+// .value(resultSet.getObject(i, DataType.convertType(columnTypeName)))
+// .type(DataType.getJavaType(columnTypeName))
+// .build();
+// list.add(build);
+//
+// }
+// }
+// } catch (SQLException e) {
+// throw new RuntimeException(e);
+// }
+// } catch (SQLException e) {
+// throw new RuntimeException(e);
+// }
+//
+// return list;
+// }
+//
+// @Override
+// public List findTableValues(Long basicId, String tableName) {
+// Source source = sourceService.getInfo(basicId);
+// String host = source.getHost();
+// String port = source.getPort();
+// String databaseName = source.getDatabaseName();
+// String databaseType = source.getDatabaseType();
+// String url = "jdbc:" + databaseType + "://" + host + ":" + port + "/" + databaseName + "?" + source.getConnectionParams();
+// String user = source.getUsername();
+// String password = source.getPassword();
+// List list = new ArrayList<>();
+// Connection conn=null;
+//
+// try {
+// conn = DriverManager.getConnection(url, user, password);
+// try {
+// PreparedStatement preparedStatement = conn.prepareStatement("select * from "+tableName);
+// ResultSet resultSet = preparedStatement.executeQuery();
+// ResultSetMetaData metaData = resultSet.getMetaData();
+// int columnCount = metaData.getColumnCount();
+// while (resultSet.next()){
+// for (int i = 1; i <= columnCount; i++) {
+// String columnTypeName = metaData.getColumnTypeName(i);
+//
+// DatabaseMetaData metaData1 = conn.getMetaData();
+//
+// ResultSet columns = metaData1.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
+//
+// String remarks =null;
+//
+// while (columns.next()){
+// remarks = columns.getString("REMARKS");
+// log.info("字段备注:"+remarks);
+// }
+// DataValue build = DataValue.builder()
+// .key(metaData.getColumnName(i))
+// .label(remarks)
+// .value(resultSet.getObject(i, DataType.convertType(columnTypeName)))
+// .type(DataType.getJavaType(columnTypeName))
+// .build();
+// list.add(build);
+//
+// }
+// }
+// } catch (SQLException e) {
+// throw new RuntimeException(e);
+// }
+// } catch (SQLException e) {
+// throw new RuntimeException(e);
+// }
+//
+//
+// return list;
+// }
+
+
// @Override
// public List findTablesList(Long id) {
// List tableInfoList = tableInfoMapper.selectList(new LambdaQueryWrapper(TableInfo.class).eq(
diff --git a/cloud-etl-server/src/main/resources/bootstrap.yml b/cloud-etl-server/src/main/resources/bootstrap.yml
index 950ad58..d1ba0aa 100644
--- a/cloud-etl-server/src/main/resources/bootstrap.yml
+++ b/cloud-etl-server/src/main/resources/bootstrap.yml
@@ -47,7 +47,7 @@ spring:
- application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
- application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
- # rabbit 配置文件
+ # rabbit 配置文件
- application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
mybatis-plus:
configuration:
diff --git a/cloud-etl-server/src/main/resources/mapper/SourceMapper.xml b/cloud-etl-server/src/main/resources/mapper/SourceMapper.xml
index 1b228e1..08fc85f 100644
--- a/cloud-etl-server/src/main/resources/mapper/SourceMapper.xml
+++ b/cloud-etl-server/src/main/resources/mapper/SourceMapper.xml
@@ -1,4 +1,4 @@
-
+
@@ -46,7 +46,7 @@
-