From 713582bebf36c6b9f56e3578ca9036b1be36f8ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9A=AE=E5=85=89=EF=BC=9A=E5=9F=8E=E4=B8=AD=E5=9F=8E?= <806783409@qq.com> Date: Fri, 8 May 2020 22:32:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0DDL=E5=BB=BA=E8=A1=A8?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5=E5=B1=95=E7=A4=BA=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=A2=84=E8=A7=88=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/controller/DatabaseDocController.java | 12 +++ .../framework/db/mapper/base/BaseMapper.java | 86 +++++++++++-------- .../db/mapper/mysql/MysqlBaseMapper.xml | 4 + .../src/main/resources/doc-db-index.js | 8 +- .../src/main/resources/doc-db-manifest.js | 4 +- .../src/main/resources/doc-db-vendor.js | 8 +- .../src/main/resources/doc-db.html | 2 +- zyplayer-doc-ui/db-ui/package-lock.json | 8 +- .../db-ui/src/common/api/datasource.js | 4 + .../db-ui/src/common/config/apimix.js | 8 +- .../db-ui/src/views/data/DataPreview.vue | 30 +++++-- .../db-ui/src/views/data/Executor.vue | 6 +- .../db-ui/src/views/table/Info.vue | 26 ++---- 13 files changed, 125 insertions(+), 81 deletions(-) diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DatabaseDocController.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DatabaseDocController.java index 040785b1..63caf926 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DatabaseDocController.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DatabaseDocController.java @@ -158,6 +158,18 @@ public class DatabaseDocController { return DocDbResponseJson.ok(dbResultMap); } + @PostMapping(value = "/getTableDdl") + public ResponseJson getTableDdl(Long sourceId, String dbName, String tableName) { + BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId); + Map dataMap = baseMapper.getTableDdl(dbName, tableName); + DatabaseFactoryBean databaseFactoryBean = databaseRegistrationBean.getFactoryById(sourceId); + // 不同数据源类型获取方式不一致 + if (Objects.equals(DatabaseProduct.MYSQL, databaseFactoryBean.getDatabaseProduct())) { + return DocDbResponseJson.ok(dataMap.get("Create Table")); + } + return DocDbResponseJson.ok("暂未支持的数据库类型"); + } + @PostMapping(value = "/getDatabaseList") public ResponseJson getDatabaseList(Long sourceId) { BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId); diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/framework/db/mapper/base/BaseMapper.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/framework/db/mapper/base/BaseMapper.java index 16e4db33..dd37d379 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/framework/db/mapper/base/BaseMapper.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/framework/db/mapper/base/BaseMapper.java @@ -5,100 +5,118 @@ import com.zyplayer.doc.db.framework.db.dto.*; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * 数据库的mapper持有对象接口 + * * @author 暮光:城中城 * @since 2018年8月8日 */ public interface BaseMapper { - + /** * 获取库列表 + * + * @return 数据库列表 * @author 暮光:城中城 * @since 2018年8月8日 + */ + Map getTableDdl(@Param("dbName") String dbName, @Param("tableName") String tableName); + + /** + * 获取库列表 + * * @return 数据库列表 + * @author 暮光:城中城 + * @since 2018年8月8日 */ List getDatabaseList(); - + /** * 获取表列表 - * @author 暮光:城中城 - * @since 2018年8月8日 + * * @param dbName 数据库名 * @return 数据库表列表 + * @author 暮光:城中城 + * @since 2018年8月8日 */ - List getTableList(@Param("dbName")String dbName); + List getTableList(@Param("dbName") String dbName); /** * 获取字段列表 - * @author 暮光:城中城 - * @since 2018年8月8日 - * @param dbName 数据库名 + * + * @param dbName 数据库名 * @param tableName 表名 * @return 字段列表 - */ - List getTableColumnList(@Param("dbName") String dbName, @Param("tableName") String tableName); - - /** - * 获取字段注释 * @author 暮光:城中城 * @since 2018年8月8日 + */ + List getTableColumnList(@Param("dbName") String dbName, @Param("tableName") String tableName); + + /** + * 获取字段注释 + * * @param tableName 表名 * @return 表字段注释 + * @author 暮光:城中城 + * @since 2018年8月8日 */ List getTableColumnDescList(@Param("tableName") String tableName); /** * 模糊搜索表和字段 - * @author 暮光:城中城 - * @since 2018年8月8日 - * @param dbName 数据库名 + * + * @param dbName 数据库名 * @param searchText 搜索内容 * @return 表和字段信息 + * @author 暮光:城中城 + * @since 2018年8月8日 */ List getTableAndColumnBySearch(@Param("dbName") String dbName, @Param("searchText") String searchText); /** * 获取表注释 - * @author 暮光:城中城 - * @since 2018年8月8日 + * * @param tableName 可不传,传了只查询指定表的注释 * @return 表注释 - */ - List getTableDescList(@Param("dbName") String dbName, @Param("tableName") String tableName); - - /** - * 增加表注释 * @author 暮光:城中城 * @since 2018年8月8日 + */ + List getTableDescList(@Param("dbName") String dbName, @Param("tableName") String tableName); + + /** + * 增加表注释 + * * @param tableName 表名 - * @param newDesc 新的注释 + * @param newDesc 新的注释 + * @author 暮光:城中城 + * @since 2018年8月8日 */ void updateTableDesc(@Param("dbName") String dbName, @Param("tableName") String tableName, @Param("newDesc") String newDesc); - + /** * 增加字段注释 * + * @param dbName 数据库名 + * @param tableName 表名 + * @param columnName 字段名 + * @param newDesc 新的注释 + * @param columnInfo 字段信息 * @author 暮光:城中城 * @since 2018年8月8日 - * @param dbName 数据库名 - * @param tableName 表名 - * @param columnName 字段名 - * @param newDesc 新的注释 - * @param columnInfo 字段信息 */ void updateTableColumnDesc(@Param("dbName") String dbName, @Param("tableName") String tableName, - @Param("columnName") String columnName, @Param("newDesc") String newDesc, - @Param("columnInfo") ColumnInfoDto columnInfo); + @Param("columnName") String columnName, @Param("newDesc") String newDesc, + @Param("columnInfo") ColumnInfoDto columnInfo); /** * 获取表基本信息 * + * @param dbName 数据库名 + * @param tableName 表名 * @author 暮光:城中城 * @since 2019年9月1日 - * @param dbName 数据库名 - * @param tableName 表名 */ TableStatusVo getTableStatus(@Param("dbName") String dbName, @Param("tableName") String tableName); } diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/framework/db/mapper/mysql/MysqlBaseMapper.xml b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/framework/db/mapper/mysql/MysqlBaseMapper.xml index 0aa29c23..8b6d309d 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/framework/db/mapper/mysql/MysqlBaseMapper.xml +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/framework/db/mapper/mysql/MysqlBaseMapper.xml @@ -48,6 +48,10 @@ group by TABLE_SCHEMA + +