diff --git a/.idea/httpRequests/http-client.cookies b/.idea/httpRequests/http-client.cookies
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/httpRequests/http-requests-log.http b/.idea/httpRequests/http-requests-log.http
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 5f2a26d..b544c44 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,30 +5,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -90,7 +70,9 @@
-
+
+
+
+
+
+
+
@@ -196,12 +184,16 @@
+
+
+
+
@@ -246,6 +238,7 @@
+
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/controller/GetTableController.java b/etl-cleaning/src/main/java/com/etl/cleaning/controller/GetTableController.java
index 574edc5..02c9a15 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/controller/GetTableController.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/controller/GetTableController.java
@@ -3,6 +3,8 @@ package com.etl.cleaning.controller;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.etl.cleaning.domian.pojo.DataPlace;
import com.etl.cleaning.domian.request.TableRequest;
+import com.etl.cleaning.enums.EnumMsg;
+import com.etl.cleaning.server.GetTableServerTest;
import com.etl.cleaning.service.PlaceService;
import com.etl.common.result.Result;
import org.springframework.web.bind.annotation.PostMapping;
@@ -10,6 +12,9 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import javax.validation.Valid;
+import java.util.List;
+
/**
* 获取表名控制器
*/
@@ -17,12 +22,12 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/dataTable")
public class GetTableController {
+
private final PlaceService placeService;
public GetTableController(PlaceService placeService) {
this.placeService = placeService;
}
-
/**
* 获取所有表名
*
@@ -30,12 +35,18 @@ public class GetTableController {
* @return
*/
@PostMapping("/getTableName")
- public Result getTableName(@RequestBody TableRequest tableRequest) {
+ public Result getTableName(@RequestBody @Valid TableRequest tableRequest) {
LambdaUpdateWrapper eqed = new LambdaUpdateWrapper().eq(DataPlace::getName, tableRequest.getName()).or().eq(DataPlace::getTypeId, tableRequest.getTypeId());
DataPlace dataPlace = placeService.getOne(eqed);
if (dataPlace == null) {
throw new RuntimeException("您所选中的数据源不存在");
}
- return Result.success();
+ String dataUrl = dataPlace.getDataUrl();
+ String dataName = dataPlace.getDataName();
+ String password = dataPlace.getPassword();
+ String username = dataPlace.getUsername();
+ String url = EnumMsg.URL_PRE.getMessage() + "://" + dataUrl + "/" + dataName;
+ List tableNames = GetTableServerTest.getTableNames(url, dataName, username, password);
+ return Result.success(tableNames);
}
}
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/domian/request/TableRequest.java b/etl-cleaning/src/main/java/com/etl/cleaning/domian/request/TableRequest.java
index 5ee7d69..1c41bb8 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/domian/request/TableRequest.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/domian/request/TableRequest.java
@@ -2,6 +2,7 @@ package com.etl.cleaning.domian.request;
import lombok.AllArgsConstructor;
import lombok.Data;
+import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@@ -11,6 +12,7 @@ import javax.validation.constraints.NotNull;
*/
@Data
@AllArgsConstructor
+@NoArgsConstructor
public class TableRequest {
/**
* 数据源类型ID
@@ -25,5 +27,6 @@ public class TableRequest {
@NotBlank(message = "数据源描述不能为空")
private String name;
+
}
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/server/GetTableServerTest.java b/etl-cleaning/src/main/java/com/etl/cleaning/server/GetTableServerTest.java
index 14eb14f..3181e59 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/server/GetTableServerTest.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/server/GetTableServerTest.java
@@ -1,6 +1,8 @@
package com.etl.cleaning.server;
+import com.etl.cleaning.enums.EnumMsg;
+
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
@@ -9,14 +11,14 @@ import java.util.List;
* 获取数据库下的所有表名
*/
public class GetTableServerTest {
- public static List getTableNames(String url,String username,String password){
+ public static List getTableNames(String url,String dataName,String username,String password){
ArrayList tableNames = new ArrayList<>();
Connection connection = null;
try {
- Class.forName("com.mysql.cj.jdbc.Driver");
+ Class.forName(EnumMsg.DRIVER_CLASS_NAME.getMessage());
connection = DriverManager.getConnection(url, username, password);
DatabaseMetaData metaData = connection.getMetaData();
- ResultSet tables = metaData.getTables(null, null, "%", new String[]{"TABLE"});
+ ResultSet tables = metaData.getTables(dataName, null, "%", new String[]{"TABLE"});
while (tables.next()){
tableNames.add(tables.getString(3));
}