001/* 002 * Copyright (c) 2022-2025, Mybatis-Flex (fuhai999@gmail.com). 003 * <p> 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * <p> 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * <p> 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package com.mybatisflex.core.dialect; 017 018 019public enum DbType { 020 021 /** 022 * MYSQL 023 */ 024 MYSQL("mysql", "MySql 数据库"), 025 026 /** 027 * MARIADB 028 */ 029 MARIADB("mariadb", "MariaDB 数据库"), 030 031 /** 032 * ORACLE 033 */ 034 ORACLE("oracle", "Oracle11g 及以下数据库"), 035 036 /** 037 * oracle12c 038 */ 039 ORACLE_12C("oracle12c", "Oracle12c 及以上数据库"), 040 041 /** 042 * DB2 043 */ 044 DB2("db2", "DB2 数据库"), 045 DB2_1005("db2_1005", "DB2 10.5版本数据库"), 046 047 /** 048 * H2 049 */ 050 H2("h2", "H2 数据库"), 051 052 /** 053 * HSQL 054 */ 055 HSQL("hsql", "HSQL 数据库"), 056 057 /** 058 * SQLITE 059 */ 060 SQLITE("sqlite", "SQLite 数据库"), 061 062 /** 063 * POSTGRE 064 */ 065 POSTGRE_SQL("postgresql", "PostgreSQL 数据库"), 066 067 /** 068 * SQLSERVER 069 */ 070 SQLSERVER("sqlserver", "SQLServer 数据库"), 071 072 /** 073 * SqlServer 2005 数据库 074 */ 075 SQLSERVER_2005("sqlserver_2005", "SQLServer 数据库"), 076 077 /** 078 * DM 079 */ 080 DM("dm", "达梦数据库"), 081 082 /** 083 * xugu 084 */ 085 XUGU("xugu", "虚谷数据库"), 086 087 /** 088 * Kingbase 089 */ 090 KINGBASE_ES("kingbasees", "人大金仓数据库"), 091 092 /** 093 * Phoenix 094 */ 095 PHOENIX("phoenix", "Phoenix HBase 数据库"), 096 097 /** 098 * Gauss 099 */ 100 GAUSS("gauss", "Gauss 数据库"), 101 102 /** 103 * ClickHouse 104 */ 105 CLICK_HOUSE("clickhouse", "clickhouse 数据库"), 106 107 /** 108 * GBase 109 */ 110 GBASE("gbase", "南大通用(华库)数据库"), 111 112 /** 113 * GBase-8s 114 */ 115 GBASE_8S("gbase-8s", "南大通用数据库 GBase 8s"), 116 117 /** 118 * Oscar 119 */ 120 OSCAR("oscar", "神通数据库"), 121 122 /** 123 * Sybase 124 */ 125 SYBASE("sybase", "Sybase ASE 数据库"), 126 127 /** 128 * OceanBase 129 */ 130 OCEAN_BASE("oceanbase", "OceanBase 数据库"), 131 132 /** 133 * Firebird 134 */ 135 FIREBIRD("Firebird", "Firebird 数据库"), 136 137 /** 138 * derby 139 */ 140 DERBY("derby", "Derby 数据库"), 141 142 /** 143 * HighGo 144 */ 145 HIGH_GO("highgo", "瀚高数据库"), 146 147 /** 148 * CUBRID 149 */ 150 CUBRID("cubrid", "CUBRID 数据库"), 151 152 /** 153 * GOLDILOCKS 154 */ 155 GOLDILOCKS("goldilocks", "GOLDILOCKS 数据库"), 156 157 /** 158 * CSIIDB 159 */ 160 CSIIDB("csiidb", "CSIIDB 数据库"), 161 162 /** 163 * CSIIDB 164 */ 165 SAP_HANA("hana", "SAP_HANA 数据库"), 166 167 /** 168 * Impala 169 */ 170 IMPALA("impala", "impala 数据库"), 171 172 /** 173 * Vertica 174 */ 175 VERTICA("vertica", "vertica数据库"), 176 177 /** 178 * 东方国信 xcloud 179 */ 180 XCloud("xcloud", "行云数据库"), 181 182 /** 183 * redshift 184 */ 185 REDSHIFT("redshift", "亚马逊 redshift 数据库"), 186 187 /** 188 * openGauss 189 */ 190 OPENGAUSS("openGauss", "华为 openGauss 数据库"), 191 192 /** 193 * TDengine 194 */ 195 TDENGINE("TDengine", "TDengine 数据库"), 196 197 /** 198 * Informix 199 */ 200 INFORMIX("informix", "Informix 数据库"), 201 202 /** 203 * sinodb 204 */ 205 SINODB("sinodb", "SinoDB 数据库"), 206 207 /** 208 * uxdb 209 */ 210 UXDB("uxdb", "优炫数据库"), 211 212 /** 213 * greenplum 214 */ 215 GREENPLUM("greenplum", "greenplum 数据库"), 216 217 /** 218 * lealone 219 */ 220 LEALONE("lealone", "lealone 数据库"), 221 222 /** 223 * Hive SQL 224 */ 225 HIVE("Hive", "Hive SQL"), 226 227 /** 228 * Doris 兼容 Mysql,使用 MySql 驱动和协议 229 */ 230 DORIS("doris", "doris 数据库"), 231 232 /** 233 * Trino 234 */ 235 TRINO("trino", "trino 数据库"), 236 237 /** 238 * UNKNOWN DB 239 */ 240 OTHER("other", "其他数据库"); 241 242 /** 243 * 数据库名称 244 */ 245 private final String name; 246 247 /** 248 * 描述 249 */ 250 private final String remarks; 251 252 253 DbType(String name, String remarks) { 254 this.name = name; 255 this.remarks = remarks; 256 } 257 258 public String getName() { 259 return name; 260 } 261}