mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 01:28:24 +08:00
feat: dialect support hive sql
This commit is contained in:
parent
94bce8f1fb
commit
22dea1b9c7
@ -22,102 +22,127 @@ public enum DbType {
|
|||||||
* MYSQL
|
* MYSQL
|
||||||
*/
|
*/
|
||||||
MYSQL("mysql", "MySql 数据库"),
|
MYSQL("mysql", "MySql 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MARIADB
|
* MARIADB
|
||||||
*/
|
*/
|
||||||
MARIADB("mariadb", "MariaDB 数据库"),
|
MARIADB("mariadb", "MariaDB 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ORACLE
|
* ORACLE
|
||||||
*/
|
*/
|
||||||
ORACLE("oracle", "Oracle11g 及以下数据库"),
|
ORACLE("oracle", "Oracle11g 及以下数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* oracle12c
|
* oracle12c
|
||||||
*/
|
*/
|
||||||
ORACLE_12C("oracle12c", "Oracle12c 及以上数据库"),
|
ORACLE_12C("oracle12c", "Oracle12c 及以上数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DB2
|
* DB2
|
||||||
*/
|
*/
|
||||||
DB2("db2", "DB2 数据库"),
|
DB2("db2", "DB2 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* H2
|
* H2
|
||||||
*/
|
*/
|
||||||
H2("h2", "H2 数据库"),
|
H2("h2", "H2 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HSQL
|
* HSQL
|
||||||
*/
|
*/
|
||||||
HSQL("hsql", "HSQL 数据库"),
|
HSQL("hsql", "HSQL 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SQLITE
|
* SQLITE
|
||||||
*/
|
*/
|
||||||
SQLITE("sqlite", "SQLite 数据库"),
|
SQLITE("sqlite", "SQLite 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POSTGRE
|
* POSTGRE
|
||||||
*/
|
*/
|
||||||
POSTGRE_SQL("postgresql", "PostgreSQL 数据库"),
|
POSTGRE_SQL("postgresql", "PostgreSQL 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SQLSERVER
|
* SQLSERVER
|
||||||
*/
|
*/
|
||||||
SQLSERVER("sqlserver", "SQLServer 数据库"),
|
SQLSERVER("sqlserver", "SQLServer 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SqlServer 2005 数据库
|
* SqlServer 2005 数据库
|
||||||
*/
|
*/
|
||||||
SQLSERVER_2005("sqlserver_2005", "SQLServer 数据库"),
|
SQLSERVER_2005("sqlserver_2005", "SQLServer 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DM
|
* DM
|
||||||
*/
|
*/
|
||||||
DM("dm", "达梦数据库"),
|
DM("dm", "达梦数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* xugu
|
* xugu
|
||||||
*/
|
*/
|
||||||
XUGU("xugu", "虚谷数据库"),
|
XUGU("xugu", "虚谷数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Kingbase
|
* Kingbase
|
||||||
*/
|
*/
|
||||||
KINGBASE_ES("kingbasees", "人大金仓数据库"),
|
KINGBASE_ES("kingbasees", "人大金仓数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Phoenix
|
* Phoenix
|
||||||
*/
|
*/
|
||||||
PHOENIX("phoenix", "Phoenix HBase 数据库"),
|
PHOENIX("phoenix", "Phoenix HBase 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gauss
|
* Gauss
|
||||||
*/
|
*/
|
||||||
GAUSS("gauss", "Gauss 数据库"),
|
GAUSS("gauss", "Gauss 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ClickHouse
|
* ClickHouse
|
||||||
*/
|
*/
|
||||||
CLICK_HOUSE("clickhouse", "clickhouse 数据库"),
|
CLICK_HOUSE("clickhouse", "clickhouse 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GBase
|
* GBase
|
||||||
*/
|
*/
|
||||||
GBASE("gbase", "南大通用(华库)数据库"),
|
GBASE("gbase", "南大通用(华库)数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GBase-8s
|
* GBase-8s
|
||||||
*/
|
*/
|
||||||
GBASE_8S("gbase-8s", "南大通用数据库 GBase 8s"),
|
GBASE_8S("gbase-8s", "南大通用数据库 GBase 8s"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Oscar
|
* Oscar
|
||||||
*/
|
*/
|
||||||
OSCAR("oscar", "神通数据库"),
|
OSCAR("oscar", "神通数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sybase
|
* Sybase
|
||||||
*/
|
*/
|
||||||
SYBASE("sybase", "Sybase ASE 数据库"),
|
SYBASE("sybase", "Sybase ASE 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OceanBase
|
* OceanBase
|
||||||
*/
|
*/
|
||||||
OCEAN_BASE("oceanbase", "OceanBase 数据库"),
|
OCEAN_BASE("oceanbase", "OceanBase 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Firebird
|
* Firebird
|
||||||
*/
|
*/
|
||||||
FIREBIRD("Firebird", "Firebird 数据库"),
|
FIREBIRD("Firebird", "Firebird 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* derby
|
* derby
|
||||||
*/
|
*/
|
||||||
DERBY("derby", "Derby 数据库"),
|
DERBY("derby", "Derby 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HighGo
|
* HighGo
|
||||||
*/
|
*/
|
||||||
HIGH_GO("highgo", "瀚高数据库"),
|
HIGH_GO("highgo", "瀚高数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CUBRID
|
* CUBRID
|
||||||
*/
|
*/
|
||||||
@ -127,50 +152,62 @@ public enum DbType {
|
|||||||
* GOLDILOCKS
|
* GOLDILOCKS
|
||||||
*/
|
*/
|
||||||
GOLDILOCKS("goldilocks", "GOLDILOCKS 数据库"),
|
GOLDILOCKS("goldilocks", "GOLDILOCKS 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CSIIDB
|
* CSIIDB
|
||||||
*/
|
*/
|
||||||
CSIIDB("csiidb", "CSIIDB 数据库"),
|
CSIIDB("csiidb", "CSIIDB 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CSIIDB
|
* CSIIDB
|
||||||
*/
|
*/
|
||||||
SAP_HANA("hana", "SAP_HANA 数据库"),
|
SAP_HANA("hana", "SAP_HANA 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Impala
|
* Impala
|
||||||
*/
|
*/
|
||||||
IMPALA("impala", "impala 数据库"),
|
IMPALA("impala", "impala 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Vertica
|
* Vertica
|
||||||
*/
|
*/
|
||||||
VERTICA("vertica", "vertica数据库"),
|
VERTICA("vertica", "vertica数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 东方国信 xcloud
|
* 东方国信 xcloud
|
||||||
*/
|
*/
|
||||||
XCloud("xcloud", "行云数据库"),
|
XCloud("xcloud", "行云数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* redshift
|
* redshift
|
||||||
*/
|
*/
|
||||||
REDSHIFT("redshift", "亚马逊 redshift 数据库"),
|
REDSHIFT("redshift", "亚马逊 redshift 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* openGauss
|
* openGauss
|
||||||
*/
|
*/
|
||||||
OPENGAUSS("openGauss", "华为 openGauss 数据库"),
|
OPENGAUSS("openGauss", "华为 openGauss 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TDengine
|
* TDengine
|
||||||
*/
|
*/
|
||||||
TDENGINE("TDengine", "TDengine 数据库"),
|
TDENGINE("TDengine", "TDengine 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Informix
|
* Informix
|
||||||
*/
|
*/
|
||||||
INFORMIX("informix", "Informix 数据库"),
|
INFORMIX("informix", "Informix 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sinodb
|
* sinodb
|
||||||
*/
|
*/
|
||||||
SINODB("sinodb", "SinoDB 数据库"),
|
SINODB("sinodb", "SinoDB 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* uxdb
|
* uxdb
|
||||||
*/
|
*/
|
||||||
UXDB("uxdb", "优炫数据库"),
|
UXDB("uxdb", "优炫数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* greenplum
|
* greenplum
|
||||||
*/
|
*/
|
||||||
@ -180,6 +217,17 @@ public enum DbType {
|
|||||||
* lealone
|
* lealone
|
||||||
*/
|
*/
|
||||||
LEALONE("lealone", "lealone 数据库"),
|
LEALONE("lealone", "lealone 数据库"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hive SQL
|
||||||
|
*/
|
||||||
|
HIVE("Hive", "Hive SQL"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Doris 兼容 Mysql,使用 MySql 驱动和协议
|
||||||
|
*/
|
||||||
|
DORIS("doris", "doris 数据库"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* UNKNOWN DB
|
* UNKNOWN DB
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -169,7 +169,9 @@ public class DbTypeUtil {
|
|||||||
return DbType.GREENPLUM;
|
return DbType.GREENPLUM;
|
||||||
} else if (jdbcUrl.contains(":lealone:")) {
|
} else if (jdbcUrl.contains(":lealone:")) {
|
||||||
return DbType.LEALONE;
|
return DbType.LEALONE;
|
||||||
} else {
|
} else if (jdbcUrl.contains(":hive2:")) {
|
||||||
|
return DbType.HIVE;
|
||||||
|
} else {
|
||||||
return DbType.OTHER;
|
return DbType.OTHER;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -107,6 +107,8 @@ public class DialectFactory {
|
|||||||
case CUBRID:
|
case CUBRID:
|
||||||
case GOLDILOCKS:
|
case GOLDILOCKS:
|
||||||
case CSIIDB:
|
case CSIIDB:
|
||||||
|
case HIVE:
|
||||||
|
case DORIS:
|
||||||
return new CommonsDialectImpl(KeywordWrap.BACK_QUOTE, LimitOffsetProcessor.MYSQL);
|
return new CommonsDialectImpl(KeywordWrap.BACK_QUOTE, LimitOffsetProcessor.MYSQL);
|
||||||
case CLICK_HOUSE:
|
case CLICK_HOUSE:
|
||||||
return new CommonsDialectImpl(KeywordWrap.NONE, LimitOffsetProcessor.MYSQL);
|
return new CommonsDialectImpl(KeywordWrap.NONE, LimitOffsetProcessor.MYSQL);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user