From b9a1a33c4e03e112780bd4de17b4c8505085d6dd Mon Sep 17 00:00:00 2001 From: diantu Date: Mon, 16 Jan 2023 14:52:35 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8Dmysql=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E4=BD=BF=E7=94=A8=E5=89=8D=E7=BD=AEsql=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E6=97=B6,=E5=9B=A0=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E5=90=8D=E5=8C=85=E5=90=AB=E7=89=B9=E6=AE=8A=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= =?UTF-8?q?=202.=E4=BF=AE=E5=A4=8Doracle=E4=BD=BF=E7=94=A8use=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E5=AF=BC=E8=87=B4=E7=9A=84=E6=8A=A5=E9=94=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/service/database/MysqlServiceImpl.java | 24 +++++++++++++++---- .../service/database/OracleServiceImpl.java | 12 +++++++++- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/MysqlServiceImpl.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/MysqlServiceImpl.java index aca498b6..8f6bd78b 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/MysqlServiceImpl.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/MysqlServiceImpl.java @@ -28,12 +28,26 @@ import java.util.Optional; */ @Service public class MysqlServiceImpl extends DbBaseService { - + @Override public DatabaseProductEnum getDatabaseProduct() { return DatabaseProductEnum.MYSQL; } - + + /** + * mysql数据库名中含有 - 等特殊字符,需要用反引号包裹 + * + * @author diantu + * @since 2023年1月16日 + */ + @Override + public String getUseDbSql(String dbName) { + if (StringUtils.isNotBlank(dbName)) { + return "use " + "`" + dbName + "`"; + } + return null; + } + @Override public TableDdlVo getTableDdl(Long sourceId, String dbName, String tableName) { BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId); @@ -48,7 +62,7 @@ public class MysqlServiceImpl extends DbBaseService { } return tableDdlVo; } - + @Override public void updateTableColumnDesc(Long sourceId, String dbName, String tableName, String columnName, String newDesc) { BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId); @@ -67,7 +81,7 @@ public class MysqlServiceImpl extends DbBaseService { columnInfo.setExtra(StringUtils.isBlank(extra) ? "" : extra); baseMapper.updateTableColumnDesc(dbName, tableName, columnName, newDesc, columnInfo); } - + @Override public ProcedureDto getProcedureDetail(Long sourceId, String dbName, String typeName, String procName) { BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId); @@ -105,7 +119,7 @@ public class MysqlServiceImpl extends DbBaseService { procedureDetail.setBody(createStr + "\r\n" + procedureDetail.getBody()); return procedureDetail; } - + @Override public ExecuteResult saveProcedure(Long sourceId, String dbName, String typeName, String procName, String procSql) { String firstLine = procSql.split("\n")[0]; diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/OracleServiceImpl.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/OracleServiceImpl.java index 457c06cd..2c2fefc7 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/OracleServiceImpl.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/OracleServiceImpl.java @@ -11,9 +11,19 @@ import org.springframework.stereotype.Service; */ @Service public class OracleServiceImpl extends DbBaseService { - + @Override public DatabaseProductEnum getDatabaseProduct() { return DatabaseProductEnum.ORACLE; } + + /** + * oracle数据库中没有也不需要use语句,指定数据库名的情况下直接返回空即可 + * @author diantu + * @since 2023年1月16日 + */ + @Override + public String getUseDbSql(String dbName) { + return null; + } }