提交 cf5cf543 authored 作者: taojinlong's avatar taojinlong

feat: 【数据源】数据源类型增加mariadb和doris分类

上级 12755fa5
...@@ -39,7 +39,7 @@ public class CommonConfig { ...@@ -39,7 +39,7 @@ public class CommonConfig {
datasource.setId("doris"); datasource.setId("doris");
datasource.setName("doris"); datasource.setName("doris");
datasource.setDesc("doris"); datasource.setDesc("doris");
datasource.setType("doris"); datasource.setType("de_doris");
datasource.setConfiguration(jsonObject.toJSONString()); datasource.setConfiguration(jsonObject.toJSONString());
return datasource; return datasource;
} }
......
...@@ -3,9 +3,11 @@ package io.dataease.datasource.constants; ...@@ -3,9 +3,11 @@ package io.dataease.datasource.constants;
public enum DatasourceTypes { public enum DatasourceTypes {
excel("excel", "excel", "", "", "", "", ""), excel("excel", "excel", "", "", "", "", ""),
mysql("mysql", "mysql", "com.mysql.jdbc.Driver", "`", "`", "'", "'"), 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", "\"", "\"", "\"", "\""), pg("pg", "pg", "org.postgresql.Driver", "\"", "\"", "\"", "\""),
sqlServer("sqlServer", "sqlServer", "com.microsoft.sqlserver.jdbc.SQLServerDriver", "\"", "\"", "\"", "\""), 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", "\"", "\"", "\"", "\""), oracle("oracle", "oracle", "oracle.jdbc.driver.OracleDriver", "\"", "\"", "\"", "\""),
ck("ch", "ch", "ru.yandex.clickhouse.ClickHouseDriver", "`", "`", "'", "'"), ck("ch", "ch", "ru.yandex.clickhouse.ClickHouseDriver", "`", "`", "'", "'"),
es("es", "es", "", "\"", "\"", "\"", "\""); es("es", "es", "", "\"", "\"", "\"", "\"");
......
...@@ -441,19 +441,15 @@ public class JdbcProvider extends DatasourceProvider { ...@@ -441,19 +441,15 @@ public class JdbcProvider extends DatasourceProvider {
Properties props = new Properties(); Properties props = new Properties();
switch (datasourceType) { switch (datasourceType) {
case mysql: case mysql:
case mariadb:
case de_doris:
case ds_doris:
MysqlConfigration mysqlConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class); MysqlConfigration mysqlConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class);
username = mysqlConfigration.getUsername(); username = mysqlConfigration.getUsername();
password = mysqlConfigration.getPassword(); password = mysqlConfigration.getPassword();
driver = mysqlConfigration.getDriver(); driver = mysqlConfigration.getDriver();
jdbcurl = mysqlConfigration.getJdbc(); jdbcurl = mysqlConfigration.getJdbc();
break; 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: case sqlServer:
SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class); SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class);
username = sqlServerConfigration.getUsername(); username = sqlServerConfigration.getUsername();
...@@ -502,6 +498,9 @@ public class JdbcProvider extends DatasourceProvider { ...@@ -502,6 +498,9 @@ public class JdbcProvider extends DatasourceProvider {
JdbcDTO jdbcDTO = new JdbcDTO(); JdbcDTO jdbcDTO = new JdbcDTO();
switch (datasourceType) { switch (datasourceType) {
case mysql: case mysql:
case mariadb:
case de_doris:
case ds_doris:
MysqlConfigration mysqlConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class); MysqlConfigration mysqlConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class);
dataSource.setUser(mysqlConfigration.getUsername()); dataSource.setUser(mysqlConfigration.getUsername());
dataSource.setDriverClass(mysqlConfigration.getDriver()); dataSource.setDriverClass(mysqlConfigration.getDriver());
...@@ -509,14 +508,6 @@ public class JdbcProvider extends DatasourceProvider { ...@@ -509,14 +508,6 @@ public class JdbcProvider extends DatasourceProvider {
dataSource.setJdbcUrl(mysqlConfigration.getJdbc()); dataSource.setJdbcUrl(mysqlConfigration.getJdbc());
jdbcDTO = mysqlConfigration; jdbcDTO = mysqlConfigration;
break; 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: case sqlServer:
SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class); SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class);
dataSource.setUser(sqlServerConfigration.getUsername()); dataSource.setUser(sqlServerConfigration.getUsername());
...@@ -559,11 +550,11 @@ public class JdbcProvider extends DatasourceProvider { ...@@ -559,11 +550,11 @@ public class JdbcProvider extends DatasourceProvider {
DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasourceRequest.getDatasource().getType()); DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasourceRequest.getDatasource().getType());
switch (datasourceType) { switch (datasourceType) {
case mysql: case mysql:
case de_doris:
case ds_doris:
case mariadb:
MysqlConfigration mysqlConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class); MysqlConfigration mysqlConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class);
return mysqlConfigration.getDataBase(); return mysqlConfigration.getDataBase();
case doris:
MysqlConfigration dorisConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), MysqlConfigration.class);
return dorisConfigration.getDataBase();
case sqlServer: case sqlServer:
SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class); SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class);
return sqlServerConfigration.getDataBase(); return sqlServerConfigration.getDataBase();
...@@ -580,8 +571,9 @@ public class JdbcProvider extends DatasourceProvider { ...@@ -580,8 +571,9 @@ public class JdbcProvider extends DatasourceProvider {
DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasourceRequest.getDatasource().getType()); DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasourceRequest.getDatasource().getType());
switch (datasourceType) { switch (datasourceType) {
case mysql: case mysql:
return "show tables;"; case mariadb:
case doris: case de_doris:
case ds_doris:
return "show tables;"; return "show tables;";
case sqlServer: case sqlServer:
SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class); SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class);
...@@ -615,8 +607,10 @@ public class JdbcProvider extends DatasourceProvider { ...@@ -615,8 +607,10 @@ public class JdbcProvider extends DatasourceProvider {
DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasourceRequest.getDatasource().getType()); DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasourceRequest.getDatasource().getType());
switch (datasourceType) { switch (datasourceType) {
case mysql: case mysql:
return null; case mariadb:
case doris: case de_doris:
case ds_doris:
case ck:
return null; return null;
case sqlServer: case sqlServer:
SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class); SqlServerConfigration sqlServerConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), SqlServerConfigration.class);
...@@ -638,8 +632,6 @@ public class JdbcProvider extends DatasourceProvider { ...@@ -638,8 +632,6 @@ public class JdbcProvider extends DatasourceProvider {
throw new Exception(Translator.get("i18n_schema_is_empty")); throw new Exception(Translator.get("i18n_schema_is_empty"));
} }
return "SELECT viewname FROM pg_views WHERE schemaname='SCHEMA' ;".replace("SCHEMA", pgConfigration.getSchema()); return "SELECT viewname FROM pg_views WHERE schemaname='SCHEMA' ;".replace("SCHEMA", pgConfigration.getSchema());
case ck:
return null;
default: default:
return null; return null;
} }
......
...@@ -22,14 +22,6 @@ public class ProviderFactory implements ApplicationContextAware { ...@@ -22,14 +22,6 @@ public class ProviderFactory implements ApplicationContextAware {
public static DatasourceProvider getProvider(String type) { public static DatasourceProvider getProvider(String type) {
DatasourceTypes datasourceType = DatasourceTypes.valueOf(type); DatasourceTypes datasourceType = DatasourceTypes.valueOf(type);
switch (datasourceType) { 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: case es:
return context.getBean("es", DatasourceProvider.class); return context.getBean("es", DatasourceProvider.class);
default: default:
...@@ -41,8 +33,10 @@ public class ProviderFactory implements ApplicationContextAware { ...@@ -41,8 +33,10 @@ public class ProviderFactory implements ApplicationContextAware {
DatasourceTypes datasourceType = DatasourceTypes.valueOf(type); DatasourceTypes datasourceType = DatasourceTypes.valueOf(type);
switch (datasourceType) { switch (datasourceType) {
case mysql: case mysql:
case mariadb:
case ds_doris:
return context.getBean("mysqlQuery", QueryProvider.class); return context.getBean("mysqlQuery", QueryProvider.class);
case doris: case de_doris:
return context.getBean("dorisQuery", QueryProvider.class); return context.getBean("dorisQuery", QueryProvider.class);
case sqlServer: case sqlServer:
return context.getBean("sqlserverQuery", QueryProvider.class); return context.getBean("sqlserverQuery", QueryProvider.class);
...@@ -62,7 +56,7 @@ public class ProviderFactory implements ApplicationContextAware { ...@@ -62,7 +56,7 @@ public class ProviderFactory implements ApplicationContextAware {
public static DDLProvider getDDLProvider(String type) { public static DDLProvider getDDLProvider(String type) {
DatasourceTypes datasourceType = DatasourceTypes.valueOf(type); DatasourceTypes datasourceType = DatasourceTypes.valueOf(type);
switch (datasourceType) { switch (datasourceType) {
case doris: case de_doris:
return context.getBean("dorisDDL", DDLProvider.class); return context.getBean("dorisDDL", DDLProvider.class);
default: default:
return context.getBean("dorisDDL", DDLProvider.class); return context.getBean("dorisDDL", DDLProvider.class);
......
...@@ -2,16 +2,16 @@ package io.dataease.provider.doris; ...@@ -2,16 +2,16 @@ package io.dataease.provider.doris;
import io.dataease.provider.SQLConstants; import io.dataease.provider.SQLConstants;
import static io.dataease.datasource.constants.DatasourceTypes.doris; import static io.dataease.datasource.constants.DatasourceTypes.de_doris;
/** /**
* @Author gin * @Author gin
* @Date 2021/7/8 7:22 下午 * @Date 2021/7/8 7:22 下午
*/ */
public class DorisConstants extends SQLConstants { 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)"; public static final String UNIX_TIMESTAMP = "UNIX_TIMESTAMP(%s)";
......
...@@ -763,6 +763,8 @@ public class ExtractDataService { ...@@ -763,6 +763,8 @@ public class ExtractDataService {
String transName = null; String transName = null;
switch (datasourceType) { switch (datasourceType) {
case ds_doris:
case mariadb:
case mysql: case mysql:
MysqlConfigration mysqlConfigration = new Gson().fromJson(datasource.getConfiguration(), MysqlConfigration.class); 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()); dataMeta = new DatabaseMeta("db", "MYSQL", "Native", mysqlConfigration.getHost().trim(), mysqlConfigration.getDataBase().trim(), mysqlConfigration.getPort().toString(), mysqlConfigration.getUsername(), mysqlConfigration.getPassword());
......
...@@ -158,6 +158,10 @@ export default { ...@@ -158,6 +158,10 @@ export default {
return 'Elasticsearch' return 'Elasticsearch'
} else if (type === 'ck') { } else if (type === 'ck') {
return 'ClickHouse' return 'ClickHouse'
} else if (type === 'mariadb') {
return 'MariaDB'
} else if (type === 'ds_doris') {
return 'Doris'
} }
}, },
......
...@@ -153,6 +153,8 @@ export default { ...@@ -153,6 +153,8 @@ export default {
{ name: 'sqlServer', label: 'SQL Server', type: 'jdbc' }, { name: 'sqlServer', label: 'SQL Server', type: 'jdbc' },
{ name: 'pg', label: 'PostgreSQL', type: 'jdbc' }, { name: 'pg', label: 'PostgreSQL', type: 'jdbc' },
{ name: 'es', label: 'Elasticsearch', type: 'es' }, { 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' } { name: 'ck', label: 'ClickHouse', type: 'jdbc' }
], ],
schemas: [], schemas: [],
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论