diff --git a/cloud-property-common/src/main/java/com/muyu/common/domain/TableFie.java b/cloud-property-common/src/main/java/com/muyu/common/domain/TableFie.java index bfdad85..6414bec 100644 --- a/cloud-property-common/src/main/java/com/muyu/common/domain/TableFie.java +++ b/cloud-property-common/src/main/java/com/muyu/common/domain/TableFie.java @@ -31,6 +31,7 @@ public class TableFie{ @TableField(value = "primarys") private String primarys; private String annotation; + private Integer tableId; public static TableFie customerBuild(TableFie tableFie, Supplier function) { return com.muyu.common.domain.TableFie.builder() diff --git a/cloud-property-server/src/main/java/com/muyu/server/controller/DataRunNameController.java b/cloud-property-server/src/main/java/com/muyu/server/controller/DataRunNameController.java index 636018c..694e807 100644 --- a/cloud-property-server/src/main/java/com/muyu/server/controller/DataRunNameController.java +++ b/cloud-property-server/src/main/java/com/muyu/server/controller/DataRunNameController.java @@ -1,5 +1,7 @@ package com.muyu.server.controller; +import com.muyu.common.core.domain.Result; +import com.muyu.common.domain.Connect; import com.muyu.server.service.DataRunNameService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -26,11 +28,12 @@ public class DataRunNameController { private DataRunNameService dataRunNameService; /** - * + * 添加 数据库名,表名,结构 */ @PostMapping("/addDataTableName") - @Operation(summary = "获取数据库名",description = "从数据库中抽取数据库名称") - public void addDataTableName(){ - + @Operation(summary = "添加数据库名,表名,结构",description = "获取数据进行添加") + public Result addDataTableName(Connect connect){ + dataRunNameService.addDataTableName(connect); + return Result.success(null,"同步成功"); } } diff --git a/cloud-property-server/src/main/java/com/muyu/server/controller/DataSourceController.java b/cloud-property-server/src/main/java/com/muyu/server/controller/DataSourceController.java index 65b3e97..b9f65c5 100644 --- a/cloud-property-server/src/main/java/com/muyu/server/controller/DataSourceController.java +++ b/cloud-property-server/src/main/java/com/muyu/server/controller/DataSourceController.java @@ -53,9 +53,9 @@ public class DataSourceController { if (CollectionUtils.isEmpty(tableFIES)){ return Result.success(null,"未查询到结构,请检查数据来源"); } - for (TableFie tableFie : tableFIES) { - tableFieldService.save(tableFie); - } +// for (TableFie tableFie : tableFIES) { +// tableFieldService.save(tableFie); +// } return Result.success(tableFIES,"您的数据已成功获取"); } diff --git a/cloud-property-server/src/main/java/com/muyu/server/service/DataRunNameService.java b/cloud-property-server/src/main/java/com/muyu/server/service/DataRunNameService.java index c6e3473..728ae82 100644 --- a/cloud-property-server/src/main/java/com/muyu/server/service/DataRunNameService.java +++ b/cloud-property-server/src/main/java/com/muyu/server/service/DataRunNameService.java @@ -1,5 +1,6 @@ package com.muyu.server.service; +import com.muyu.common.domain.Connect; import com.muyu.common.domain.DataName; import java.util.ArrayList; @@ -17,4 +18,9 @@ public interface DataRunNameService { * @param list */ void addDataRunName(ArrayList list); + + /** + * 添加 数据库名,表名,结构 + */ + void addDataTableName(Connect connect); } diff --git a/cloud-property-server/src/main/java/com/muyu/server/service/impl/DataNameServiceImpl.java b/cloud-property-server/src/main/java/com/muyu/server/service/impl/DataNameServiceImpl.java index 8a54523..2789f1d 100644 --- a/cloud-property-server/src/main/java/com/muyu/server/service/impl/DataNameServiceImpl.java +++ b/cloud-property-server/src/main/java/com/muyu/server/service/impl/DataNameServiceImpl.java @@ -32,7 +32,6 @@ public class DataNameServiceImpl implements DataNameService { private final DataNameService dataNameService; - private final TableRunNameService tableRunNameService; /** * 获取数据库名 * @return 返回试图 @@ -52,15 +51,10 @@ public class DataNameServiceImpl ArrayList list = new ArrayList<>(); while (rs.next()) { String database = rs.getString("Database"); - List tableNames = tableRunNameService.extractTableName(database); + list.add(new DataName(0,database)); } JdbcHelper.close(conn,preparedStatement,rs); - dataNameService.saveBatch(list); - - for (DataName dataName : list) { - - } return list; } catch (SQLException e) { diff --git a/cloud-property-server/src/main/java/com/muyu/server/service/impl/DataRunNameServiceImpl.java b/cloud-property-server/src/main/java/com/muyu/server/service/impl/DataRunNameServiceImpl.java index 247de9f..28d2712 100644 --- a/cloud-property-server/src/main/java/com/muyu/server/service/impl/DataRunNameServiceImpl.java +++ b/cloud-property-server/src/main/java/com/muyu/server/service/impl/DataRunNameServiceImpl.java @@ -1,15 +1,20 @@ package com.muyu.server.service.impl; +import com.muyu.common.domain.Connect; import com.muyu.common.domain.DataName; +import com.muyu.common.domain.TableFie; import com.muyu.common.domain.TableNames; import com.muyu.server.mapper.DataRunNameMapper; +import com.muyu.server.service.DataNameService; import com.muyu.server.service.DataRunNameService; import com.muyu.server.service.DataSourceService; +import com.muyu.server.service.TableFieldService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.atomic.AtomicReference; /** * @Author:yang @@ -25,6 +30,14 @@ public class DataRunNameServiceImpl implements DataRunNameService { private DataRunNameMapper dataRunNameMapper; @Autowired private TableRunNameServiceImpl tableRunNameService; + @Autowired + private DataNameService dataNameService; + @Autowired + private DataSourceService dataSourceService; + @Autowired + private TableFieldService tableFieldService; + + @Override public void addDataRunName(ArrayList list) { @@ -40,4 +53,27 @@ public class DataRunNameServiceImpl implements DataRunNameService { dataRunNameMapper.addTableRunName(tableNames1); } + + @Override + public void addDataTableName(Connect connect) { + + //获取数据库名称 + List dataNames = dataNameService.extractDataName(); + List tableNames = null; + AtomicReference> tableFies = new AtomicReference<>(); + dataNameService.saveBatch(dataNames); + for (DataName dataName : dataNames) { + //获取数据库表的名称 + tableNames = tableRunNameService.extractTableName(dataName.getName()); + tableNames.forEach(tableName -> { + tableName.setDataId(dataName.getId()); + tableFies.set(dataSourceService.extractTableField(connect)); + tableFies.get().forEach(tableFy -> { + tableFy.setTableId(tableName.getId()); + }); + }); + } + tableRunNameService.saveBatch(tableNames); + tableFieldService.saveBatch(tableFies.get()); + } } diff --git a/cloud-property-server/src/main/java/com/muyu/server/util/JdbcHelper.java b/cloud-property-server/src/main/java/com/muyu/server/util/JdbcHelper.java index 2ff1c76..0ccc83a 100644 --- a/cloud-property-server/src/main/java/com/muyu/server/util/JdbcHelper.java +++ b/cloud-property-server/src/main/java/com/muyu/server/util/JdbcHelper.java @@ -25,7 +25,10 @@ public class JdbcHelper { try { DruidDataSource druidDataSource = new DruidDataSource(); String dcp = connect.getDataConnParam(); - druidDataSource.setUrl(new ConnectReq().getURL()+connect.getIpAddress()+":"+connect.getPort()+"/"+connect.getDatabaseName() + (dcp != null && !dcp.isEmpty()? "?" + dcp : "")); + druidDataSource.setUrl(new ConnectReq().getURL() + +connect.getIpAddress()+":"+connect.getPort()+ + "/"+connect.getDatabaseName() + + (dcp != null && !dcp.isEmpty()? "?" + dcp : "")); druidDataSource.setUsername(connect.getUserName()); druidDataSource.setPassword(connect.getPassword()); //"com.mysql.cj.jdbc.Driver" @@ -47,7 +50,8 @@ public class JdbcHelper { try { DruidDataSource druidDataSource = new DruidDataSource(); - druidDataSource.setUrl("jdbc:mysql://21.12.0.10:3306/h6_cloud_server?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"); + druidDataSource.setUrl("jdbc:mysql://21.12.0.10:3306/h6_cloud_server?useUnicode=true&characterEncoding" + + "=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"); druidDataSource.setUsername("root"); druidDataSource.setPassword("Bwie-8666"); //"com.mysql.cj.jdbc.Driver" @@ -69,7 +73,10 @@ public class JdbcHelper { try { DruidDataSource druidDataSource = new DruidDataSource(); - druidDataSource.setUrl("jdbc:mysql://21.12.0.10:3306/"+name+"?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"); + druidDataSource.setUrl("jdbc:mysql://21.12.0.10:3306/" + +name+ + "?useUnicode=true&characterEncoding=" + + "utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"); druidDataSource.setUsername("root"); druidDataSource.setPassword("Bwie-8666"); //"com.mysql.cj.jdbc.Driver"