diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetStructure.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetStructure.java index 4e0a0b7..69dddee 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetStructure.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetStructure.java @@ -19,6 +19,10 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor public class AssetStructure{ + + /**资产表id*/ + private Long id; + /** 接入源名称 */ private String accessSourceName; @@ -40,10 +44,19 @@ public class AssetStructure{ /**是否核心*/ private String coreOrNot; - /**表注释*/ - private String tableComment; - /**类型*/ private Integer type; + /**主机地址*/ + private String hostAddress; + + /**主机端口*/ + private Integer hostPort; + + /**数据库用户名*/ + private String databaseUserName; + + /**数据库用户密码*/ + private String databaseUserPassword; + } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/model/DatabaseTableModel.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DataBaseTable.java similarity index 61% rename from muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/model/DatabaseTableModel.java rename to muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DataBaseTable.java index 75aa790..d6782cf 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/model/DatabaseTableModel.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DataBaseTable.java @@ -1,4 +1,4 @@ -package com.muyu.data.source.domain.model; +package com.muyu.data.source.domain; import lombok.AllArgsConstructor; import lombok.Builder; @@ -6,20 +6,20 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * 数据库表对象 DatabaseTable + * 数据库表对象 DataBaseTable * * @author DeKangLiu - * on 2024/4/22 + * on 2024/4/24 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor -public class DatabaseTableModel { +public class DataBaseTable { /**数据库表id*/ - private Long id; + private Integer id; - /**数据库表名*/ + /**数据库名称*/ private String tableName; /**字段名*/ @@ -31,17 +31,17 @@ public class DatabaseTableModel { /**是否核心*/ private String isPrimaryKey; - /**Java类型*/ + /**java类型*/ private String type; /**字段类型*/ - private String detailName; + private String detailType; - /**长度*/ + /**小数点*/ private Integer length; /**小数点*/ - private Integer decimalPlaces; + private Double decimalPlaces; /**是否为空*/ private String isNull; @@ -49,4 +49,11 @@ public class DatabaseTableModel { /**默认值*/ private String defaultValue; + /**结构表id*/ + private Integer structureId; + + /**信息表id*/ + private Integer informationId; + } + diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DatabaseTableInformation.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DatabaseTableInformation.java index 66c3ce9..b6e48c1 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DatabaseTableInformation.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DatabaseTableInformation.java @@ -6,7 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * DatabaseTableInformation + * 数据库表对象信息 DatabaseTableInformation * * @author DeKangLiu * on 2024/4/23 @@ -18,7 +18,7 @@ import lombok.NoArgsConstructor; public class DatabaseTableInformation { /**数据库信息id*/ - private Long id; + private Integer id; /**数据库表名*/ private String name; @@ -40,4 +40,8 @@ public class DatabaseTableInformation { /**类型*/ private Integer type; + + /**资产结构id*/ + private Integer structureId; + } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/Structure.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/Structure.java index 849dcb4..26ee78b 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/Structure.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/Structure.java @@ -8,7 +8,7 @@ import lombok.NoArgsConstructor; import java.util.List; /** - * TestList + * 资产结构树形对象 Structure * * @author DeKangLiu * on 2024/4/24 @@ -21,7 +21,7 @@ public class Structure { /**数据库表信息对象*/ private List databaseTableInformationList; - /**资产结构对象*/ - private List assetStructureList; + /**数据库表对象*/ + private List dataBaseTableList; } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/model/DataBaseModel.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/model/DataBaseModel.java deleted file mode 100644 index f830c77..0000000 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/model/DataBaseModel.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.muyu.data.source.domain.model; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 数据库对象 DataBaseModel - * - * @author DeKangLiu - * on 2024/4/23 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class DataBaseModel { - - /** - * 数据库名称 - */ - private String tableName; - - /** - * 数据库 - */ -} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java index 81b84aa..1174511 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java @@ -4,17 +4,9 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.muyu.data.source.domain.*; -import com.muyu.data.source.domain.model.DatabaseTableModel; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.web.controller.BaseController; @@ -117,29 +109,83 @@ public class DataSourceController extends BaseController { List accessTypeList=dataSourceService.findAccessType(); return Result.success(accessTypeList); } + + /** + * 测试连接 + * @param dataSourceSaveReq + * @return + */ @PostMapping("/testConnection") public Result testConnection(@RequestBody DataSourceSaveReq dataSourceSaveReq){ return dataSourceService.testConnection(dataSourceSaveReq); } + /** + * 根据数据源对象同步代码 + * @param dataSource + * @return + */ @PostMapping("/synchronization") public Result synchronization(@RequestBody DataSource dataSource){ return dataSourceService.synchronization(dataSource); } - @GetMapping("/findDataBaseTable") - public Result> findDataBaseTable(){ - return dataSourceService.findDataBaseTable(); - } @GetMapping("/findAssetStructure") public Result> findAssetStructure(){ return dataSourceService.findAssetStructure(); } - - @GetMapping("/findStructure") - public Result findStructure(){ - return dataSourceService.findStructure(); + @GetMapping("/findInformationById") + public Result> findInformationById(@RequestParam Integer id){ + return dataSourceService.findInformationById(id); } + /** + * 根据资产表id获取字段表信息 + * @param id + * @return 字段列表 + */ + @GetMapping("/findDataBaseTableById") + public Result> findDataBaseTableById(@RequestParam Integer id){ + return dataSourceService.findDataBaseTableById(id); + } + /** + * 根据名字查询数据库 + * @param name + * @return + */ + @GetMapping("/findDataBaseTableByName/{name}") + public Result> findDataBaseTableByName( @PathVariable String name){ + return dataSourceService.findDataBaseTableByName(name); + } + + /** + * 根据id查询数据库 + * @param id + * @return + */ + @GetMapping("/findDataBaseTable") + public Result findDataBaseTable(@RequestParam Long id){ + return dataSourceService.findDataBaseTable(id); + } + + /** + * 根据资产id查询数据库信息表 + * @param id + * @return 数据库信息列表 + */ + @GetMapping("/findDataBaseByAssetId") + public Result> findDataBaseByAssetId(@RequestParam Integer id){ + return dataSourceService.findDataBaseByAssetId(id); + } + + /** + * 根据数据库信息表id查询字段表 + * @param id + * @return 字段表列表 + */ + @GetMapping("/findDataBaseByInformationId") + public Result> findDataBaseByInformationId(@RequestParam Integer id){ + return dataSourceService.findDataBaseByInformationId(id); + } } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java index 908bb8c..406e4ae 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java @@ -3,11 +3,7 @@ package com.muyu.data.source.mapper; import java.util.ArrayList; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.data.source.domain.AccessType; -import com.muyu.data.source.domain.AssetStructure; -import com.muyu.data.source.domain.DataSource; -import com.muyu.data.source.domain.DatabaseTableInformation; -import com.muyu.data.source.domain.model.DatabaseTableModel; +import com.muyu.data.source.domain.*; import org.apache.ibatis.annotations.Param; /** @@ -20,21 +16,37 @@ public interface DataSourceMapper extends BaseMapper { List findAccessType(); - void addAssets(@Param("assetStructure") List assetStructure); - - void addAssets1(AssetStructure assetStructure); - List assetStructureList(); - DatabaseTableModel findByName(@Param("databaseName") String databaseName, @Param("databaseTableName") String databaseTableName); List findByBaseName(@Param("databaseName") String databaseName); - void addDatabaseTableInformation(@Param("databaseTableInformationList") List databaseTableInformationList); + void addDatabaseTableInformation(@Param("databaseTableInformationList") List databaseTableInformationList, @Param("id") Long id); void addDatabaseTableInfo(@Param("databaseTableInformations") ArrayList databaseTableInformations); - List findAssetStructure(); - List findInformation(); + Integer addAssets(AssetStructure assetStructure); + + List findInformationById(@Param("id") Integer id); + + AssetStructure findAssetsById(@Param("id") Integer id); + + List findDataBaseTable(@Param("databaseName") String databaseName, @Param("name") String name); + + void addDataBaseTable(@Param("dataBaseTable") List dataBaseTable); + + List findDataBaseTableById(@Param("id") Integer id); + + List findDataBaseTableByName(@Param("name") String name); + + DatabaseTableInformation findAssetById(@Param("id") Integer id); + + DatabaseTableInformation findDataBaseTableBy(@Param("id") Long id); + + List findDataBaseTableInformationById(@Param("id") Integer id); + +// AssetStructure findDatabaseName(DataSource dataSource); + +// void updateAssets(@Param("assetStructure") AssetStructure assetStructure, @Param("id") Long id); } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DataSourceService.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DataSourceService.java index e5b1b6c..97377a6 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DataSourceService.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DataSourceService.java @@ -5,7 +5,6 @@ import java.util.List; import com.muyu.common.core.domain.Result; import com.muyu.data.source.domain.*; import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.data.source.domain.model.DatabaseTableModel; import com.muyu.data.source.domain.req.DataSourceSaveReq; /** @@ -30,9 +29,17 @@ public interface DataSourceService extends IService { Result synchronization(DataSource dataSource); - Result> findDataBaseTable(); - Result> findAssetStructure(); - Result findStructure(); + Result> findInformationById(Integer id); + + Result> findDataBaseTableById(Integer id); + + Result> findDataBaseTableByName(String name); + + Result findDataBaseTable(Long id); + + Result> findDataBaseByAssetId(Integer id); + + Result> findDataBaseByInformationId(Integer id); } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java index 66e3b01..a11633a 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java @@ -2,14 +2,13 @@ package com.muyu.data.source.service.impl; import java.sql.*; import java.util.ArrayList; +import java.util.Collections; import java.util.Date; import java.util.List; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.ObjUtils; -import com.muyu.common.security.utils.SecurityUtils; import com.muyu.data.source.domain.*; -import com.muyu.data.source.domain.model.DatabaseTableModel; import com.muyu.data.source.domain.req.DataSourceSaveReq; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -120,75 +119,193 @@ public class DataSourceServiceImpl extends ServiceImpl list = new ArrayList<>(); - ArrayList tableNames = new ArrayList<>(); - List databaseTableInformationList=dataSourceMapper.findByBaseName(dataSource.getDatabaseName()); - dataSourceMapper.addDatabaseTableInformation(databaseTableInformationList); - List list = new ArrayList<>(); - + //连接jdbc驱动 String user=dataSource.getDatabaseUserName(); String password=dataSource.getDatabaseUserPassword(); String jdbcDriver="com.mysql.cj.jdbc.Driver"; String url = "jdbc:mysql://" + dataSource.getHostAddress() + ":" + dataSource.getHostPort() + "/" + dataSource.getDatabaseName(); - String query="show tables "; - try(Connection con=DriverManager.getConnection(url,user,password); - Statement stmt=con.createStatement(); - ResultSet rs= stmt.executeQuery(query)) { - ResultSetMetaData rsmd = rs.getMetaData(); - // 5. 处理查询结果 - while (rs.next()) { - String tableName = rs.getString(1); - tableNames.add(tableName); - } + //查询条件 + String query="show tables"; + try (Connection con = DriverManager.getConnection(url, user, password)) { + // 创建 PreparedStatement,并设置参数 + PreparedStatement prepared = con.prepareStatement("SELECT " + + " TABLE_NAME AS `name`, " + + " TABLE_COMMENT AS `as`, " + + " TABLE_ROWS AS `dataTotal` " + + " FROM INFORMATION_SCHEMA.TABLES " + + " WHERE TABLE_SCHEMA = ?"); + prepared.setString(1, dataSource.getDatabaseName()); // 设置数据库名称参数 - assetStructure.setAccessSourceName(dataSource.getAccessSourceName()); - assetStructure.setDatabaseName(dataSource.getDatabaseName()); - assetStructure.setDataSourceSystemName(dataSource.getDataSourceSystemName()); - assetStructure.setDatabaseTableName(rsmd.getTableName(1)); + // 执行查询 + ResultSet resultSet = prepared.executeQuery(); - assetStructure.setDataVolume(rsmd.getColumnDisplaySize(1)); - assetStructure.setDataQuantity(rsmd.getColumnDisplaySize(1)); + ResultSetMetaData rsmd = resultSet.getMetaData(); + // 5. 处理查询结果 + while (resultSet.next()) { + String tableName = resultSet.getString("name"); + String tableComment = resultSet.getString("as"); + int tableRows = resultSet.getInt("dataTotal"); - dataSourceMapper.addAssets1(assetStructure); + // 创建一个包含数据库表信息的对象 + DatabaseTableInformation databaseTableInformation = DatabaseTableInformation.builder() + .name(tableName) + .as(tableComment) + .dataTotal(tableRows).build(); - return Result.success("同步成功"); - - } catch (SQLException e) { - System.out.println("连接失败"+e.getMessage()); - return Result.error("同步失败"); + // 将对象添加到 ArrayList 中 + list.add(databaseTableInformation); + } + //参数复制对象 + assetStructure.setAccessSourceName(dataSource.getAccessSourceName()); + assetStructure.setDatabaseName(dataSource.getDatabaseName()); + assetStructure.setDataSourceSystemName(dataSource.getDataSourceSystemName()); + assetStructure.setDatabaseTableName(rsmd.getTableName(1)); + assetStructure.setDataVolume(rsmd.getColumnDisplaySize(1)); + assetStructure.setDataQuantity(rsmd.getColumnDisplaySize(1)); + if (list.size()==0){ + return Result.error("数据库没有内容"); + } + //同步到数据库 + dataSourceMapper.addAssets(assetStructure); + //同步到数据库表信息库 + dataSourceMapper.addDatabaseTableInformation(list,assetStructure.getId()); + List dataBaseTable = new ArrayList<>(); + //列表循环 + for (DatabaseTableInformation databaseTableInformation : list) { + //条件sql + PreparedStatement preparedStatement = con.prepareStatement(" SELECT " + + " TABLE_NAME AS 'tableName', " + + " COLUMN_NAME AS 'name', " + + " COLUMN_COMMENT AS 'comment', " + + " CASE WHEN COLUMN_KEY = 'PRI' THEN '是' ELSE '否' END AS 'isPrimaryKey', " + + " " + + " CASE " + + " WHEN DATA_TYPE = 'int' THEN 'Integer' " + + " WHEN DATA_TYPE = 'varchar' THEN 'String' " + + " WHEN DATA_TYPE = 'decimal' THEN 'BigDecimal' " + + " WHEN DATA_TYPE = 'tinyint' AND COLUMN_TYPE = 'tinyint(1)' THEN 'Boolean' " + + " " + + " ELSE DATA_TYPE " + + " END AS 'type', " + + " DATA_TYPE AS 'mappingType', " + + " COLUMN_TYPE AS 'detailType', " + + " CHARACTER_MAXIMUM_LENGTH AS 'length', " + + " NUMERIC_SCALE AS 'decimalPlaces', " + + " IS_NULLABLE AS 'isNull', " + + " COLUMN_DEFAULT AS 'defaultValue' " + + " FROM " + + " INFORMATION_SCHEMA.COLUMNS " + + " WHERE " + + " TABLE_SCHEMA = ?" + + " AND TABLE_NAME = ?"); + preparedStatement.setString(1, dataSource.getDatabaseName()); + preparedStatement.setString(2, databaseTableInformation.getName()); + //执行查询 + ResultSet executeQuery = preparedStatement.executeQuery(); + ResultSetMetaData metaData = executeQuery.getMetaData(); + // 5. 处理查询结果 + while (executeQuery.next()) { + //获得返回值 + String tableName = executeQuery.getString("tableName"); + String name = executeQuery.getString("name"); + String comment = executeQuery.getString("comment"); + String isPrimaryKey = executeQuery.getString("isPrimaryKey"); + String type = executeQuery.getString("type"); + String detailType = executeQuery.getString("detailType"); + Integer length = executeQuery.getInt("length"); + Double decimalPlaces = executeQuery.getDouble("decimalPlaces"); + String isNull = executeQuery.getString("isNull"); + String defaultValue = executeQuery.getString("defaultValue"); + //build构造方法 + DataBaseTable build = DataBaseTable.builder() + .name(name) + .tableName(tableName) + .comment(comment) + .decimalPlaces(decimalPlaces) + .isPrimaryKey(isPrimaryKey) + .type(type) + .detailType(detailType) + .length(length) + .isNull(isNull) + .defaultValue(defaultValue) + .informationId(databaseTableInformation.getId()) + .build(); + //添加到列表 + dataBaseTable.add(build); } - - } - - @Override - public Result> findDataBaseTable() { - List assetStructureList=dataSourceMapper.assetStructureList(); - List databaseTableList = new ArrayList<>(); - for (AssetStructure assetStructure : assetStructureList) { - DatabaseTableModel databaseTableModel=dataSourceMapper.findByName(assetStructure.getDatabaseName(),assetStructure.getDatabaseTableName()); - System.out.println(databaseTableModel); - databaseTableList.add(databaseTableModel); + } + //添加数据库 + dataSourceMapper.addDataBaseTable(dataBaseTable); + return Result.success("同步成功"); + } catch (SQLException e) { + System.out.println("连接失败"+e.getMessage()); + return Result.error("同步失败"); } - return Result.success(databaseTableList); + } + @Override public Result> findAssetStructure() { - List assetStructureList=dataSourceMapper.assetStructureList(); + List assetStructureList = dataSourceMapper.assetStructureList(); return Result.success(assetStructureList); } @Override - public Result findStructure() { + public Result> findInformationById(Integer id) { Structure structure = new Structure(); - List assetStructure = dataSourceMapper.findAssetStructure(); - structure.setAssetStructureList(assetStructure); - List databaseTableInformationList=dataSourceMapper.findInformation(); - structure.setDatabaseTableInformationList(databaseTableInformationList); - return Result.success(structure); + AssetStructure assetStructure=dataSourceMapper.findAssetsById(id); + List databaseTableInformationList=dataSourceMapper.findInformationById(id); + ArrayList dataBaseTableArrayList = new ArrayList<>(); + for (DatabaseTableInformation databaseTableInformation : databaseTableInformationList) { + List dataBaseTableList=dataSourceMapper.findDataBaseTable(assetStructure.getDatabaseName(),databaseTableInformation.getName()); + dataBaseTableArrayList.addAll(dataBaseTableList); + } + System.out.println(dataBaseTableArrayList); + return Result.success(databaseTableInformationList); + } + + @Override + public Result> findDataBaseTableById(Integer id) { + List databaseTableInformation=dataSourceMapper.findDataBaseTableInformationById(id); + + ArrayList dataBaseTables = new ArrayList<>(); + for (DatabaseTableInformation tableInformation : databaseTableInformation) { + List dataBaseTableList=dataSourceMapper.findDataBaseTableById(tableInformation.getId()); + dataBaseTables.addAll(dataBaseTableList); + } + return Result.success(dataBaseTables); + } + + @Override + public Result> findDataBaseTableByName(String name) { + List dataBaseTableList=dataSourceMapper.findDataBaseTableByName(name); + return Result.success(dataBaseTableList); + } + + @Override + public Result findDataBaseTable(Long id) { + DatabaseTableInformation databaseTableInformation=dataSourceMapper.findDataBaseTableBy(id); + return Result.success(databaseTableInformation); + } + + @Override + public Result> findDataBaseByAssetId(Integer id) { + + List databaseTableInformationList=dataSourceMapper.findDataBaseTableInformationById(id); + return Result.success(databaseTableInformationList); + } + + @Override + public Result> findDataBaseByInformationId(Integer id) { + List dataBaseTableList=dataSourceMapper.findDataBaseTableById(id); + return Result.success(dataBaseTableList); } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/dataSource/DataSourceMapper.xml b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/dataSource/DataSourceMapper.xml index 29ab20b..77cb224 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/dataSource/DataSourceMapper.xml +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/dataSource/DataSourceMapper.xml @@ -29,49 +29,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, access_source_name, data_source_system_name, host_address, host_port, data_access_type_id, database_name, data_connection_parameter, initial_quantity, maximum_quantity, maximum_time, maximum_frequency, remark, create_by, create_time, update_by, update_time ,database_user_name ,database_user_password from data_source - - INSERT INTO `data_management`.`asset_structure` - (`access_source_name`, `data_source_system_name`, `database_name`, `database_table_name`, `data_volume`, `data_quantity`, `core_or_not`) - VALUES - - ( - #{assetStructure.accessSourceName}, - #{assetStructure.dataSourceSystemName}, - #{assetStructure.databaseName}, - #{assetStructure.databaseTableName}, - #{assetStructure.dataVolume}, - #{assetStructure.dataQuantity}, - 'Y' - ) - - - - - INSERT INTO `data_management`.`asset_structure` - (`access_source_name`, `data_source_system_name`, `database_name`, `data_volume`, `data_quantity`, `core_or_not`) - VALUES - - ( - #{accessSourceName}, - #{dataSourceSystemName}, - #{databaseName}, - #{dataVolume}, - #{dataQuantity}, - 'Y' - ) - - - - + INSERT INTO `data_management`.`database_table_information` - ( `name`, `as`, `dataTotal`) + ( `name`, `as`, `dataTotal`,`structure_id`) VALUES ( #{databaseTableInformationList.name}, #{databaseTableInformationList.as}, - #{databaseTableInformationList.dataTotal} + #{databaseTableInformationList.dataTotal}, + #{id} ) @@ -91,13 +59,99 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) + + INSERT INTO `data_management`.`asset_structure` + ( `access_source_name`, `data_source_system_name`, `database_name`, `data_volume`, `databaseUserName`, `databaseUserPassword`, `hostAddress`, `hostPort`) + VALUES + + ( + + #{accessSourceName}, + #{dataSourceSystemName}, + #{databaseName}, + #{dataVolume}, + #{databaseUserName}, + #{databaseUserPassword}, + #{hostAddress}, + #{hostPort} + ) + + + + INSERT INTO `data_management`.`database_table` + ( + `tableName`, + `name`, + `comment`, + `isPrimaryKey`, + `type`, + `detailType`, + `length`, + `decimalPlaces`, + `isNull`, + `defaultValue`, + `information_id` + ) + VALUES + + ( + #{dataBaseTable.tableName}, + #{dataBaseTable.name}, + #{dataBaseTable.comment}, + #{dataBaseTable.isPrimaryKey}, + #{dataBaseTable.type}, + #{dataBaseTable.detailType}, + #{dataBaseTable.length}, + #{dataBaseTable.decimalPlaces}, + #{dataBaseTable.isNull}, + #{dataBaseTable.defaultValue}, + #{dataBaseTable.informationId} + ) + + + + + + + + + + + + + + + + + - + SELECT + TABLE_NAME as 'name', + TABLE_COMMENT as 'as', + TABLE_ROWS as 'dataTotal' + FROM INFORMATION_SCHEMA.TABLES + WHERE + TABLE_SCHEMA = #{databaseName} + + + + + + - + select * from database_table where information_id=#{id} - + select * from database_table where tableName=#{name} - + select * from database_table_information where structure_id=#{id} + + + + + + + + + + + + + +