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 + +