diff --git a/backend/src/main/java/io/dataease/config/CommonConfig.java b/backend/src/main/java/io/dataease/config/CommonConfig.java index 3ba2f02ef0..0792dd0f46 100644 --- a/backend/src/main/java/io/dataease/config/CommonConfig.java +++ b/backend/src/main/java/io/dataease/config/CommonConfig.java @@ -39,7 +39,7 @@ public class CommonConfig { datasource.setId("doris"); datasource.setName("doris"); datasource.setDesc("doris"); - datasource.setType("doris"); + datasource.setType("de_doris"); datasource.setConfiguration(jsonObject.toJSONString()); return datasource; } diff --git a/backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java b/backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java index c9da730433..93d17034fe 100644 --- a/backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java +++ b/backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java @@ -3,9 +3,11 @@ package io.dataease.datasource.constants; public enum DatasourceTypes { excel("excel", "excel", "", "", "", "", ""), mysql("mysql", "mysql", "com.mysql.jdbc.Driver", "`", "`", "'", "'"), + mariadb("mariadb", "mariadb", "com.mysql.jdbc.Driver", "`", "`", "'", "'"), + ds_doris("ds_doris", "ds_doris", "com.mysql.jdbc.Driver", "`", "`", "'", "'"), pg("pg", "pg", "org.postgresql.Driver", "\"", "\"", "\"", "\""), sqlServer("sqlServer", "sqlServer", "com.microsoft.sqlserver.jdbc.SQLServerDriver", "\"", "\"", "\"", "\""), - doris("doris", "doris", "com.mysql.jdbc.Driver", "`", "`", "", ""), + de_doris("de_doris", "de_doris", "com.mysql.jdbc.Driver", "`", "`", "", ""), oracle("oracle", "oracle", "oracle.jdbc.driver.OracleDriver", "\"", "\"", "\"", "\""), ck("ch", "ch", "ru.yandex.clickhouse.ClickHouseDriver", "`", "`", "'", "'"), es("es", "es", "", "\"", "\"", "\"", "\""); diff --git a/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java b/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java index c780117686..90c8cdada7 100644 --- a/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java +++ b/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java @@ -441,19 +441,15 @@ public class JdbcProvider extends DatasourceProvider { Properties props = new Properties(); switch (datasourceType) { case mysql: + case mariadb: + case de_doris: + case ds_doris: MysqlConfigration mysqlConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class); username = mysqlConfigration.getUsername(); password = mysqlConfigration.getPassword(); driver = mysqlConfigration.getDriver(); jdbcurl = mysqlConfigration.getJdbc(); break; - case doris: - MysqlConfigration dorisConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class); - username = dorisConfigration.getUsername(); - password = dorisConfigration.getPassword(); - driver = dorisConfigration.getDriver(); - jdbcurl = dorisConfigration.getJdbc(); - break; case sqlServer: SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class); username = sqlServerConfigration.getUsername(); @@ -502,6 +498,9 @@ public class JdbcProvider extends DatasourceProvider { JdbcDTO jdbcDTO = new JdbcDTO(); switch (datasourceType) { case mysql: + case mariadb: + case de_doris: + case ds_doris: MysqlConfigration mysqlConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class); dataSource.setUser(mysqlConfigration.getUsername()); dataSource.setDriverClass(mysqlConfigration.getDriver()); @@ -509,14 +508,6 @@ public class JdbcProvider extends DatasourceProvider { dataSource.setJdbcUrl(mysqlConfigration.getJdbc()); jdbcDTO = mysqlConfigration; break; - case doris: - MysqlConfigration dorisConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class); - dataSource.setUser(dorisConfigration.getUsername()); - dataSource.setDriverClass(dorisConfigration.getDriver()); - dataSource.setPassword(dorisConfigration.getPassword()); - dataSource.setJdbcUrl(dorisConfigration.getJdbc()); - jdbcDTO = dorisConfigration; - break; case sqlServer: SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class); dataSource.setUser(sqlServerConfigration.getUsername()); @@ -559,11 +550,11 @@ public class JdbcProvider extends DatasourceProvider { DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasourceRequest.getDatasource().getType()); switch (datasourceType) { case mysql: + case de_doris: + case ds_doris: + case mariadb: MysqlConfigration mysqlConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class); return mysqlConfigration.getDataBase(); - case doris: - MysqlConfigration dorisConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class); - return dorisConfigration.getDataBase(); case sqlServer: SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class); return sqlServerConfigration.getDataBase(); @@ -580,8 +571,9 @@ public class JdbcProvider extends DatasourceProvider { DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasourceRequest.getDatasource().getType()); switch (datasourceType) { case mysql: - return "show tables;"; - case doris: + case mariadb: + case de_doris: + case ds_doris: return "show tables;"; case sqlServer: SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class); @@ -615,8 +607,10 @@ public class JdbcProvider extends DatasourceProvider { DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasourceRequest.getDatasource().getType()); switch (datasourceType) { case mysql: - return null; - case doris: + case mariadb: + case de_doris: + case ds_doris: + case ck: return null; case sqlServer: SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class); @@ -638,8 +632,6 @@ public class JdbcProvider extends DatasourceProvider { throw new Exception(Translator.get("i18n_schema_is_empty")); } return "SELECT viewname FROM pg_views WHERE schemaname='SCHEMA' ;".replace("SCHEMA", pgConfigration.getSchema()); - case ck: - return null; default: return null; } diff --git a/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java b/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java index 7d9c0eb59d..a36b050f45 100644 --- a/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java +++ b/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java @@ -22,14 +22,6 @@ public class ProviderFactory implements ApplicationContextAware { public static DatasourceProvider getProvider(String type) { DatasourceTypes datasourceType = DatasourceTypes.valueOf(type); switch (datasourceType) { - case mysql: - return context.getBean("jdbc", DatasourceProvider.class); - case doris: - return context.getBean("jdbc", DatasourceProvider.class); - case sqlServer: - return context.getBean("jdbc", DatasourceProvider.class); - case pg: - return context.getBean("jdbc", DatasourceProvider.class); case es: return context.getBean("es", DatasourceProvider.class); default: @@ -41,8 +33,10 @@ public class ProviderFactory implements ApplicationContextAware { DatasourceTypes datasourceType = DatasourceTypes.valueOf(type); switch (datasourceType) { case mysql: + case mariadb: + case ds_doris: return context.getBean("mysqlQuery", QueryProvider.class); - case doris: + case de_doris: return context.getBean("dorisQuery", QueryProvider.class); case sqlServer: return context.getBean("sqlserverQuery", QueryProvider.class); @@ -62,7 +56,7 @@ public class ProviderFactory implements ApplicationContextAware { public static DDLProvider getDDLProvider(String type) { DatasourceTypes datasourceType = DatasourceTypes.valueOf(type); switch (datasourceType) { - case doris: + case de_doris: return context.getBean("dorisDDL", DDLProvider.class); default: return context.getBean("dorisDDL", DDLProvider.class); diff --git a/backend/src/main/java/io/dataease/provider/doris/DorisConstants.java b/backend/src/main/java/io/dataease/provider/doris/DorisConstants.java index 6f9a65f1c8..3d16460af7 100644 --- a/backend/src/main/java/io/dataease/provider/doris/DorisConstants.java +++ b/backend/src/main/java/io/dataease/provider/doris/DorisConstants.java @@ -2,16 +2,16 @@ package io.dataease.provider.doris; import io.dataease.provider.SQLConstants; -import static io.dataease.datasource.constants.DatasourceTypes.doris; +import static io.dataease.datasource.constants.DatasourceTypes.de_doris; /** * @Author gin * @Date 2021/7/8 7:22 下午 */ public class DorisConstants extends SQLConstants { - public static final String KEYWORD_TABLE = doris.getKeywordPrefix() + "%s" + doris.getKeywordSuffix(); + public static final String KEYWORD_TABLE = de_doris.getKeywordPrefix() + "%s" + de_doris.getKeywordSuffix(); - public static final String KEYWORD_FIX = "%s." + doris.getKeywordPrefix() + "%s" + doris.getKeywordSuffix(); + public static final String KEYWORD_FIX = "%s." + de_doris.getKeywordPrefix() + "%s" + de_doris.getKeywordSuffix(); public static final String UNIX_TIMESTAMP = "UNIX_TIMESTAMP(%s)"; diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index e7dc2cf95c..574d828201 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -763,6 +763,8 @@ public class ExtractDataService { String transName = null; switch (datasourceType) { + case ds_doris: + case mariadb: case mysql: MysqlConfigration mysqlConfigration = new Gson().fromJson(datasource.getConfiguration(), MysqlConfigration.class); dataMeta = new DatabaseMeta("db", "MYSQL", "Native", mysqlConfigration.getHost().trim(), mysqlConfigration.getDataBase().trim(), mysqlConfigration.getPort().toString(), mysqlConfigration.getUsername(), mysqlConfigration.getPassword()); diff --git a/frontend/src/views/system/datasource/DsTree.vue b/frontend/src/views/system/datasource/DsTree.vue index 2eb2680db0..e728494063 100644 --- a/frontend/src/views/system/datasource/DsTree.vue +++ b/frontend/src/views/system/datasource/DsTree.vue @@ -158,6 +158,10 @@ export default { return 'Elasticsearch' } else if (type === 'ck') { return 'ClickHouse' + } else if (type === 'mariadb') { + return 'MariaDB' + } else if (type === 'ds_doris') { + return 'Doris' } }, diff --git a/frontend/src/views/system/datasource/form.vue b/frontend/src/views/system/datasource/form.vue index 115bdb367e..c4275b60ff 100644 --- a/frontend/src/views/system/datasource/form.vue +++ b/frontend/src/views/system/datasource/form.vue @@ -153,6 +153,8 @@ export default { { name: 'sqlServer', label: 'SQL Server', type: 'jdbc' }, { name: 'pg', label: 'PostgreSQL', type: 'jdbc' }, { name: 'es', label: 'Elasticsearch', type: 'es' }, + { name: 'mariadb', label: 'MariaDB', type: 'jdbc' }, + { name: 'ds_doris', label: 'Doris', type: 'jdbc' }, { name: 'ck', label: 'ClickHouse', type: 'jdbc' } ], schemas: [],