1.修复mysql数据库使用前置sql语句时,因数据库名包含特殊字符导致的报错问题
2.修复oracle使用use语句导致的报错问题
This commit is contained in:
@@ -28,12 +28,26 @@ import java.util.Optional;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class MysqlServiceImpl extends DbBaseService {
|
public class MysqlServiceImpl extends DbBaseService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DatabaseProductEnum getDatabaseProduct() {
|
public DatabaseProductEnum getDatabaseProduct() {
|
||||||
return DatabaseProductEnum.MYSQL;
|
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
|
@Override
|
||||||
public TableDdlVo getTableDdl(Long sourceId, String dbName, String tableName) {
|
public TableDdlVo getTableDdl(Long sourceId, String dbName, String tableName) {
|
||||||
BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId);
|
BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId);
|
||||||
@@ -48,7 +62,7 @@ public class MysqlServiceImpl extends DbBaseService {
|
|||||||
}
|
}
|
||||||
return tableDdlVo;
|
return tableDdlVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateTableColumnDesc(Long sourceId, String dbName, String tableName, String columnName, String newDesc) {
|
public void updateTableColumnDesc(Long sourceId, String dbName, String tableName, String columnName, String newDesc) {
|
||||||
BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId);
|
BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId);
|
||||||
@@ -67,7 +81,7 @@ public class MysqlServiceImpl extends DbBaseService {
|
|||||||
columnInfo.setExtra(StringUtils.isBlank(extra) ? "" : extra);
|
columnInfo.setExtra(StringUtils.isBlank(extra) ? "" : extra);
|
||||||
baseMapper.updateTableColumnDesc(dbName, tableName, columnName, newDesc, columnInfo);
|
baseMapper.updateTableColumnDesc(dbName, tableName, columnName, newDesc, columnInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ProcedureDto getProcedureDetail(Long sourceId, String dbName, String typeName, String procName) {
|
public ProcedureDto getProcedureDetail(Long sourceId, String dbName, String typeName, String procName) {
|
||||||
BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId);
|
BaseMapper baseMapper = this.getViewAuthBaseMapper(sourceId);
|
||||||
@@ -105,7 +119,7 @@ public class MysqlServiceImpl extends DbBaseService {
|
|||||||
procedureDetail.setBody(createStr + "\r\n" + procedureDetail.getBody());
|
procedureDetail.setBody(createStr + "\r\n" + procedureDetail.getBody());
|
||||||
return procedureDetail;
|
return procedureDetail;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ExecuteResult saveProcedure(Long sourceId, String dbName, String typeName, String procName, String procSql) {
|
public ExecuteResult saveProcedure(Long sourceId, String dbName, String typeName, String procName, String procSql) {
|
||||||
String firstLine = procSql.split("\n")[0];
|
String firstLine = procSql.split("\n")[0];
|
||||||
|
|||||||
@@ -11,9 +11,19 @@ import org.springframework.stereotype.Service;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class OracleServiceImpl extends DbBaseService {
|
public class OracleServiceImpl extends DbBaseService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DatabaseProductEnum getDatabaseProduct() {
|
public DatabaseProductEnum getDatabaseProduct() {
|
||||||
return DatabaseProductEnum.ORACLE;
|
return DatabaseProductEnum.ORACLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* oracle数据库中没有也不需要use语句,指定数据库名的情况下直接返回空即可
|
||||||
|
* @author diantu
|
||||||
|
* @since 2023年1月16日
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String getUseDbSql(String dbName) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user