This commit is contained in:
Looly 2024-05-09 17:31:11 +08:00
parent 1e87f43256
commit 988b8a465a
6 changed files with 318 additions and 191 deletions

View File

@ -16,6 +16,7 @@ import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.db.config.DbConfig;
import org.dromara.hutool.db.dialect.impl.*;
import org.dromara.hutool.db.driver.DriverNames;
import org.dromara.hutool.db.ds.DSWrapper;
import org.dromara.hutool.log.LogUtil;
@ -27,7 +28,7 @@ import java.util.Map;
*
* @author loolly
*/
public class DialectFactory implements DriverNamePool {
public class DialectFactory{
private static final Map<DataSource, Dialect> DIALECT_POOL = new SafeConcurrentHashMap<>();
@ -58,21 +59,21 @@ public class DialectFactory implements DriverNamePool {
final String driverName = dbConfig.getDriver();
if (StrUtil.isNotBlank(driverName)) {
if (DRIVER_MYSQL.equalsIgnoreCase(driverName) || DRIVER_MYSQL_V6.equalsIgnoreCase(driverName)) {
if (DriverNames.DRIVER_MYSQL.equalsIgnoreCase(driverName) || DriverNames.DRIVER_MYSQL_V6.equalsIgnoreCase(driverName)) {
return new MysqlDialect(dbConfig);
} else if (DRIVER_ORACLE.equalsIgnoreCase(driverName) || DRIVER_ORACLE_OLD.equalsIgnoreCase(driverName)) {
} else if (DriverNames.DRIVER_ORACLE.equalsIgnoreCase(driverName) || DriverNames.DRIVER_ORACLE_OLD.equalsIgnoreCase(driverName)) {
return new OracleDialect(dbConfig);
} else if (DRIVER_SQLLITE3.equalsIgnoreCase(driverName)) {
} else if (DriverNames.DRIVER_SQLLITE3.equalsIgnoreCase(driverName)) {
return new Sqlite3Dialect(dbConfig);
} else if (DRIVER_POSTGRESQL.equalsIgnoreCase(driverName)) {
} else if (DriverNames.DRIVER_POSTGRESQL.equalsIgnoreCase(driverName)) {
return new PostgresqlDialect(dbConfig);
} else if (DRIVER_H2.equalsIgnoreCase(driverName)) {
} else if (DriverNames.DRIVER_H2.equalsIgnoreCase(driverName)) {
return new H2Dialect(dbConfig);
} else if (DRIVER_SQLSERVER.equalsIgnoreCase(driverName)) {
} else if (DriverNames.DRIVER_SQLSERVER.equalsIgnoreCase(driverName)) {
return new SqlServer2012Dialect(dbConfig);
} else if (DRIVER_PHOENIX.equalsIgnoreCase(driverName)) {
} else if (DriverNames.DRIVER_PHOENIX.equalsIgnoreCase(driverName)) {
return new PhoenixDialect(dbConfig);
} else if (DRIVER_DM.equalsIgnoreCase(driverName)) {
} else if (DriverNames.DRIVER_DM.equalsIgnoreCase(driverName)) {
return new DmDialect(dbConfig);
}
}

View File

@ -1,128 +0,0 @@
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* https://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.db.dialect;
/**
* 常用数据库驱动池
*
* @author looly
* @since 5.6.3
*/
public interface DriverNamePool {
/**
* JDBC 驱动 MySQL
*/
String DRIVER_MYSQL = "com.mysql.jdbc.Driver";
/**
* JDBC 驱动 MySQL在6.X版本中变动驱动类名且使用SPI机制
*/
String DRIVER_MYSQL_V6 = "com.mysql.cj.jdbc.Driver";
/**
* JDBC 驱动 MariaDB
*/
String DRIVER_MARIADB = "org.mariadb.jdbc.Driver";
/**
* JDBC 驱动 Oracle
*/
String DRIVER_ORACLE = "oracle.jdbc.OracleDriver";
/**
* JDBC 驱动 Oracle旧版使用
*/
String DRIVER_ORACLE_OLD = "oracle.jdbc.driver.OracleDriver";
/**
* JDBC 驱动 PostgreSQL
*/
String DRIVER_POSTGRESQL = "org.postgresql.Driver";
/**
* JDBC 驱动 SQLLite3
*/
String DRIVER_SQLLITE3 = "org.sqlite.JDBC";
/**
* JDBC 驱动 SQLServer
*/
String DRIVER_SQLSERVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
/**
* JDBC 驱动 Hive
*/
String DRIVER_HIVE = "org.apache.hadoop.hive.jdbc.HiveDriver";
/**
* JDBC 驱动 Hive2
*/
String DRIVER_HIVE2 = "org.apache.hive.jdbc.HiveDriver";
/**
* JDBC 驱动 H2
*/
String DRIVER_H2 = "org.h2.Driver";
/**
* JDBC 驱动 Derby
*/
String DRIVER_DERBY = "org.apache.derby.jdbc.AutoloadedDriver";
/**
* JDBC 驱动 HSQLDB
*/
String DRIVER_HSQLDB = "org.hsqldb.jdbc.JDBCDriver";
/**
* JDBC 驱动 达梦
*/
String DRIVER_DM = "dm.jdbc.driver.DmDriver";
/**
* JDBC 驱动 人大金仓
*/
String DRIVER_KINGBASE8 = "com.kingbase8.Driver";
/**
* JDBC 驱动 Ignite thin
*/
String DRIVER_IGNITE_THIN = "org.apache.ignite.IgniteJdbcThinDriver";
/**
* JDBC 驱动 ClickHouse
*/
String DRIVER_CLICK_HOUSE = "com.clickhouse.jdbc.ClickHouseDriver";
/**
* JDBC 驱动 瀚高数据库
*/
String DRIVER_HIGHGO = "com.highgo.jdbc.Driver";
/**
* JDBC 驱动 DB2
*/
String DRIVER_DB2 = "com.ibm.db2.jdbc.app.DB2Driver";
/**
* JDBC 驱动 虚谷数据库
*/
String DRIVER_XUGU = "com.xugu.cloudjdbc.Driver";
/**
* JDBC 驱动 Apache Phoenix
*/
String DRIVER_PHOENIX = "org.apache.phoenix.jdbc.PhoenixDriver";
/**
* JDBC 驱动 华为高斯
*/
String DRIVER_GAUSS = "com.huawei.gauss.jdbc.ZenithDriver";
/**
* JDBC 驱动 南大通用
*/
String DRIVER_GBASE = "com.gbase.jdbc.Driver";
/**
* JDBC 驱动 神州数据库
*/
String DRIVER_OSCAR = "com.oscar.Driver";
/**
* JDBC 驱动 Sybase
*/
String DRIVER_SYBASE = "com.sybase.jdbc4.jdbc.SybDriver";
/**
* JDBC 驱动 OpenGauss
*/
String DRIVER_OPENGAUSS = "org.opengauss.Driver";
}

View File

@ -29,7 +29,7 @@ import java.util.List;
* @author looly
* @since 6.0.0
*/
public class DriverIdentifier {
public class DriverIdentifier implements DriverNames{
/**
* 单例驱动识别器
@ -48,84 +48,84 @@ public class DriverIdentifier {
// Mysql
new MysqlDriverMatcher(classLoader),
// Mariadb
new StartsWithDriverMatcher("org.mariadb.jdbc.Driver", "jdbc:mariadb:"),
new StartsWithDriverMatcher(DRIVER_MARIADB, "jdbc:mariadb:"),
// Oracle
new StartsWithDriverMatcher("oracle.jdbc.OracleDriver", "jdbc:oracle:", "JDBC:oracle:"),
new StartsWithDriverMatcher(DRIVER_ORACLE, "jdbc:oracle:", "JDBC:oracle:"),
new StartsWithDriverMatcher("com.alibaba.jdbc.AlibabaDriver", "jdbc:alibaba:oracle:"),
// PostgreSQL
new StartsWithDriverMatcher("org.postgresql.Driver", "jdbc:postgresql:"),
new StartsWithDriverMatcher(DRIVER_POSTGRESQL, "jdbc:postgresql:"),
// SQLServer
new StartsWithDriverMatcher("com.microsoft.sqlserver.jdbc.SQLServerDriver", "jdbc:sqlserver:"),
new StartsWithDriverMatcher("com.microsoft.jdbc.sqlserver.SQLServerDriver", "jdbc:microsoft:"),
new StartsWithDriverMatcher(DRIVER_SQLSERVER, "jdbc:sqlserver:"),
new StartsWithDriverMatcher(DRIVER_SQLSERVER_OLD, "jdbc:microsoft:"),
// SQLite3
new StartsWithDriverMatcher("org.sqlite.JDBC", "jdbc:sqlite:"),
new StartsWithDriverMatcher(DRIVER_SQLLITE3, "jdbc:sqlite:"),
// H2
new StartsWithDriverMatcher("org.h2.Driver", "jdbc:h2:"),
new StartsWithDriverMatcher(DRIVER_H2, "jdbc:h2:"),
// Hive
new StartsWithDriverMatcher("org.apache.hadoop.hive.jdbc.HiveDriver", "jdbc:hive:"),
new StartsWithDriverMatcher("org.apache.hive.jdbc.HiveDriver", "jdbc:hive2:"),
new StartsWithDriverMatcher(DRIVER_HIVE, "jdbc:hive:"),
new StartsWithDriverMatcher(DRIVER_HIVE2, "jdbc:hive2:"),
// Apache Derby
new StartsWithDriverMatcher("org.apache.derby.jdbc.EmbeddedDriver", "jdbc:derby:"),
new StartsWithDriverMatcher(DRIVER_DERBY_EMBEDDED, "jdbc:derby:"),
// log4jdbc
new StartsWithDriverMatcher("net.sf.log4jdbc.DriverSpy", "jdbc:log4jdbc:"),
new StartsWithDriverMatcher(DRIVER_LOG4J, "jdbc:log4jdbc:"),
// tidb
new StartsWithDriverMatcher("io.tidb.bigdata.jdbc.TiDBDriver", "jdbc:tidb:"),
new StartsWithDriverMatcher(DRIVER_TIDB, "jdbc:tidb:"),
// oceanbase
new StartsWithDriverMatcher("com.oceanbase.jdbc.Driver", "jdbc:oceanbase:"),
new StartsWithDriverMatcher(DRIVER_OCEANBASE, "jdbc:oceanbase:"),
// SyBase JConnecthttps://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc39001.0700/html/prjdbc0700/X28208.htm
new StartsWithDriverMatcher("com.sybase.jdbc4.jdbc.SybDriver", "jdbc:sybase:Tds:"),
new StartsWithDriverMatcher("net.sourceforge.jtds.jdbc.Driver", "jdbc:jtds:"),
new StartsWithDriverMatcher("com.alibaba.druid.mock.MockDriver", "jdbc:fake:", "jdbc:mock:"),
new StartsWithDriverMatcher("com.edb.Driver", "jdbc:edb:"),
new StartsWithDriverMatcher("com.aliyun.odps.jdbc.OdpsDriver", "jdbc:odps:"),
new StartsWithDriverMatcher(DRIVER_SYBASE, "jdbc:sybase:Tds:"),
new StartsWithDriverMatcher(DRIVER_JTDS, "jdbc:jtds:"),
new StartsWithDriverMatcher(DRIVER_DRUID, "jdbc:fake:", "jdbc:mock:"),
new StartsWithDriverMatcher(DRIVER_EDB, "jdbc:edb:"),
new StartsWithDriverMatcher(DRIVER_ODPS, "jdbc:odps:"),
// HSQLDB
new StartsWithDriverMatcher("org.hsqldb.jdbcDriver", "jdbc:hsqldb:"),
new StartsWithDriverMatcher(DRIVER_HSQLDB, "jdbc:hsqldb:"),
new Db2DriverMatcher(),
new StartsWithDriverMatcher("com.ingres.jdbc.IngresDriver", "jdbc:ingres:"),
new StartsWithDriverMatcher("com.mckoi.JDBCDriver", "jdbc:mckoi:"),
new StartsWithDriverMatcher("COM.cloudscape.core.JDBCDriver", "jdbc:cloudscape:"),
new StartsWithDriverMatcher("com.informix.jdbc.IfxDriver", "jdbc:informix-sqli:"),
new StartsWithDriverMatcher("com.timesten.jdbc.TimesTenDriver", "jdbc:timesten:"),
new StartsWithDriverMatcher("com.ibm.as400.access.AS400JDBCDriver", "jdbc:as400:"),
new StartsWithDriverMatcher("com.attunity.jdbc.NvDriver", "jdbc:attconnect:"),
new StartsWithDriverMatcher("com.jnetdirect.jsql.JSQLDriver", "jdbc:JSQLConnect:"),
new StartsWithDriverMatcher("com.newatlanta.jturbo.driver.Driver", "jdbc:JTurbo:"),
new StartsWithDriverMatcher("interbase.interclient.Driver", "jdbc:interbase:"),
new StartsWithDriverMatcher("com.pointbase.jdbc.jdbcUniversalDriver", "jdbc:pointbase:"),
new StartsWithDriverMatcher("ca.edbc.jdbc.EdbcDriver", "jdbc:edbc:"),
new StartsWithDriverMatcher("com.mimer.jdbc.Driver", "jdbc:mimer:multi1:"),
new StartsWithDriverMatcher(DRIVER_INGRES, "jdbc:ingres:"),
new StartsWithDriverMatcher(DRIVER_MCKOI, "jdbc:mckoi:"),
new StartsWithDriverMatcher(DRIVER_CLOUDSCAPE, "jdbc:cloudscape:"),
new StartsWithDriverMatcher(DRIVER_INFORMIX, "jdbc:informix-sqli:"),
new StartsWithDriverMatcher(DRIVER_TIMESTEN, "jdbc:timesten:"),
new StartsWithDriverMatcher(DRIVER_AS400, "jdbc:as400:"),
new StartsWithDriverMatcher(DRIVER_ATTUNITY, "jdbc:attconnect:"),
new StartsWithDriverMatcher(DRIVER_JSQL, "jdbc:JSQLConnect:"),
new StartsWithDriverMatcher(DRIVER_JTURBO, "jdbc:JTurbo:"),
new StartsWithDriverMatcher(DRIVER_INTERBASE, "jdbc:interbase:"),
new StartsWithDriverMatcher(DRIVER_POINTBASE, "jdbc:pointbase:"),
new StartsWithDriverMatcher(DRIVER_EDBC, "jdbc:edbc:"),
new StartsWithDriverMatcher(DRIVER_MIMER, "jdbc:mimer:multi1:"),
// Apache Ignite
new StartsWithDriverMatcher("org.apache.ignite.IgniteJdbcThinDriver", "jdbc:ignite:thin:"),
new StartsWithDriverMatcher(DRIVER_IGNITE_THIN, "jdbc:ignite:thin:"),
// 达梦7
new StartsWithDriverMatcher("dm.jdbc.driver.DmDriver", "jdbc:dm:"),
new StartsWithDriverMatcher(DRIVER_DM, "jdbc:dm:"),
// 人大金仓
new StartsWithDriverMatcher("com.kingbase.Driver", "jdbc:kingbase:"),
new StartsWithDriverMatcher(DRIVER_KINGBASE, "jdbc:kingbase:"),
// 人大金仓8
new StartsWithDriverMatcher("com.kingbase8.Driver", "jdbc:kingbase8:"),
new StartsWithDriverMatcher(DRIVER_KINGBASE8, "jdbc:kingbase8:"),
// 南大通用
new StartsWithDriverMatcher("com.gbase.jdbc.Driver", "jdbc:gbase:"),
new StartsWithDriverMatcher(DRIVER_GBASE, "jdbc:gbase:"),
// 虚谷
new StartsWithDriverMatcher("com.xugu.cloudjdbc.Driver", "jdbc:xugu:"),
new StartsWithDriverMatcher(DRIVER_XUGU, "jdbc:xugu:"),
// 神通
new StartsWithDriverMatcher("com.oscar.Driver", "jdbc:oscar:"),
new StartsWithDriverMatcher(DRIVER_OSCAR, "jdbc:oscar:"),
// Apache Phoenix轻客户端
new StartsWithDriverMatcher("org.apache.phoenix.queryserver.client.Driver", "jdbc:phoenix:thin:"),
new StartsWithDriverMatcher(DRIVER_PHOENIX_THIN, "jdbc:phoenix:thin:"),
// Apache Phoenix重客户端在轻客户端后检测
new StartsWithDriverMatcher("org.apache.phoenix.jdbc.PhoenixDriver", "jdbc:phoenix:"),
new StartsWithDriverMatcher("org.apache.kylin.jdbc.Driver", "jdbc:kylin:"),
new StartsWithDriverMatcher("com.alibaba.xdriver.elastic.jdbc.ElasticDriver", "jdbc:elastic:"),
new StartsWithDriverMatcher("com.clickhouse.jdbc.ClickHouseDriver", "jdbc:clickhouse:"),
new StartsWithDriverMatcher("com.facebook.presto.jdbc.PrestoDriver", "jdbc:presto:"),
new StartsWithDriverMatcher("io.trino.jdbc.TrinoDriver", "jdbc:trino:"),
new StartsWithDriverMatcher(DRIVER_PHOENIX, "jdbc:phoenix:"),
new StartsWithDriverMatcher(DRIVER_KYLIN, "jdbc:kylin:"),
new StartsWithDriverMatcher(DRIVER_ELASTIC, "jdbc:elastic:"),
new StartsWithDriverMatcher(DRIVER_CLICK_HOUSE, "jdbc:clickhouse:"),
new StartsWithDriverMatcher(DRIVER_PRESTO, "jdbc:presto:"),
new StartsWithDriverMatcher(DRIVER_TRINO, "jdbc:trino:"),
// 浪潮K-DB
new StartsWithDriverMatcher("com.inspur.jdbc.KdDriver", "jdbc:inspur:"),
new StartsWithDriverMatcher("com.aliyun.polardb.Driver", "jdbc:polardb"),
new StartsWithDriverMatcher(DRIVER_INSPUR, "jdbc:inspur:"),
new StartsWithDriverMatcher(DRIVER_POLARDB, "jdbc:polardb"),
// 瀚高
new StartsWithDriverMatcher("com.highgo.jdbc.Driver", "jdbc:highgo:"),
new StartsWithDriverMatcher("com.pivotal.jdbc.GreenplumDriver", "jdbc:pivotal:greenplum:"),
new StartsWithDriverMatcher(DRIVER_HIGHGO, "jdbc:highgo:"),
new StartsWithDriverMatcher(DRIVER_GREENPLUM, "jdbc:pivotal:greenplum:"),
// 华为OpenGauss
new StartsWithDriverMatcher("com.huawei.gauss.jdbc.ZenithDriver", "jdbc:zenith:"),
new StartsWithDriverMatcher("org.opengauss.Driver", "jdbc:opengauss:")
new StartsWithDriverMatcher(DRIVER_GAUSS, "jdbc:zenith:"),
new StartsWithDriverMatcher(DRIVER_OPENGAUSS, "jdbc:opengauss:")
);
}

View File

@ -0,0 +1,252 @@
/*
* Copyright (c) 2023-2024. looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* https://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.db.driver;
/**
* 常用数据库驱动名
*
* @author looly
* @since 6.0.0
*/
public interface DriverNames {
/**
* JDBC 驱动 MySQL
*/
String DRIVER_MYSQL = "com.mysql.jdbc.Driver";
/**
* JDBC 驱动 MySQL在6.X版本中变动驱动类名且使用SPI机制
*/
String DRIVER_MYSQL_V6 = "com.mysql.cj.jdbc.Driver";
/**
* JDBC 驱动 MariaDB
*/
String DRIVER_MARIADB = "org.mariadb.jdbc.Driver";
/**
* JDBC 驱动 Oracle
*/
String DRIVER_ORACLE = "oracle.jdbc.OracleDriver";
/**
* JDBC 驱动 Oracle旧版使用
*/
String DRIVER_ORACLE_OLD = "oracle.jdbc.driver.OracleDriver";
/**
* JDBC 驱动 PostgreSQL
*/
String DRIVER_POSTGRESQL = "org.postgresql.Driver";
/**
* JDBC 驱动 SQLLite3
*/
String DRIVER_SQLLITE3 = "org.sqlite.JDBC";
/**
* JDBC 驱动 SQLServer
*/
String DRIVER_SQLSERVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
/**
* JDBC 驱动 SQLServer4.0前使用
*/
String DRIVER_SQLSERVER_OLD = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
/**
* JDBC 驱动 Hive
*/
String DRIVER_HIVE = "org.apache.hadoop.hive.jdbc.HiveDriver";
/**
* JDBC 驱动 Hive2
*/
String DRIVER_HIVE2 = "org.apache.hive.jdbc.HiveDriver";
/**
* JDBC 驱动 H2
*/
String DRIVER_H2 = "org.h2.Driver";
/**
* JDBC 驱动 Derby
*/
String DRIVER_DERBY = "org.apache.derby.jdbc.AutoloadedDriver";
/**
* JDBC 驱动 Derby嵌入式驱动程序
*/
String DRIVER_DERBY_EMBEDDED = "org.apache.derby.jdbc.EmbeddedDriver";
/**
* JDBC 驱动 HSQLDB
*/
String DRIVER_HSQLDB = "org.hsqldb.jdbc.JDBCDriver";
/**
* JDBC 驱动 达梦
*/
String DRIVER_DM = "dm.jdbc.driver.DmDriver";
/**
* JDBC 驱动 人大金仓
*/
String DRIVER_KINGBASE = "com.kingbase.Driver";
/**
* JDBC 驱动 人大金仓8
*/
String DRIVER_KINGBASE8 = "com.kingbase8.Driver";
/**
* JDBC 驱动 Ignite thin
*/
String DRIVER_IGNITE_THIN = "org.apache.ignite.IgniteJdbcThinDriver";
/**
* JDBC 驱动 ClickHouse
*/
String DRIVER_CLICK_HOUSE = "com.clickhouse.jdbc.ClickHouseDriver";
/**
* JDBC 驱动 瀚高数据库
*/
String DRIVER_HIGHGO = "com.highgo.jdbc.Driver";
/**
* JDBC 驱动 DB2
*/
String DRIVER_DB2 = "com.ibm.db2.jdbc.app.DB2Driver";
/**
* JDBC 驱动 虚谷数据库
*/
String DRIVER_XUGU = "com.xugu.cloudjdbc.Driver";
/**
* JDBC 驱动 Apache Phoenix 瘦客户端
*/
String DRIVER_PHOENIX_THIN = "org.apache.phoenix.queryserver.client.Driver";
/**
* JDBC 驱动 Apache Phoenix
*/
String DRIVER_PHOENIX = "org.apache.phoenix.jdbc.PhoenixDriver";
/**
* JDBC 驱动 南大通用
*/
String DRIVER_GBASE = "com.gbase.jdbc.Driver";
/**
* JDBC 驱动 神州数据库
*/
String DRIVER_OSCAR = "com.oscar.Driver";
/**
* JDBC 驱动 Sybase
*/
String DRIVER_SYBASE = "com.sybase.jdbc4.jdbc.SybDriver";
/**
* JDBC 驱动 华为高斯
*/
String DRIVER_GAUSS = "com.huawei.gauss.jdbc.ZenithDriver";
/**
* JDBC 驱动 OpenGauss
*/
String DRIVER_OPENGAUSS = "org.opengauss.Driver";
/**
* JDBC 驱动 log4jdbc
*/
String DRIVER_LOG4J = "net.sf.log4jdbc.DriverSpy";
/**
* JDBC 驱动 Tidb
*/
String DRIVER_TIDB = "io.tidb.bigdata.jdbc.TiDBDriver";
/**
* JDBC 驱动 OceanBase
*/
String DRIVER_OCEANBASE = "com.oceanbase.jdbc.Driver";
/**
* JDBC 驱动 JTDS
*/
String DRIVER_JTDS = "net.sourceforge.jtds.jdbc.Driver";
/**
* JDBC 驱动 Druid
*/
String DRIVER_DRUID = "com.alibaba.druid.mock.MockDriver";
/**
* JDBC 驱动 edb
*/
String DRIVER_EDB = "com.edb.Driver";
/**
* JDBC 驱动 odps
*/
String DRIVER_ODPS = "com.aliyun.odps.jdbc.OdpsDriver";
/**
* JDBC 驱动 Ingres
*/
String DRIVER_INGRES = "com.ingres.jdbc.IngresDriver";
/**
* JDBC 驱动 Mckoi
*/
String DRIVER_MCKOI = "com.mckoi.JDBCDriver";
/**
* JDBC 驱动 cloudscape
*/
String DRIVER_CLOUDSCAPE = "COM.cloudscape.core.JDBCDriver";
/**
* JDBC 驱动 informix
*/
String DRIVER_INFORMIX = "com.informix.jdbc.IfxDriver";
/**
* JDBC 驱动 timesten
*/
String DRIVER_TIMESTEN = "com.timesten.jdbc.TimesTenDriver";
/**
* JDBC 驱动 as400
*/
String DRIVER_AS400 = "com.ibm.as400.access.AS400JDBCDriver";
/**
* JDBC 驱动 attunity
*/
String DRIVER_ATTUNITY = "com.attunity.jdbc.NvDriver";
/**
* JDBC 驱动 JSQL
*/
String DRIVER_JSQL = "com.jnetdirect.jsql.JSQLDriver";
/**
* JDBC 驱动 jturbo
*/
String DRIVER_JTURBO = "com.newatlanta.jturbo.driver.Driver";
/**
* JDBC 驱动 interbase
*/
String DRIVER_INTERBASE = "interbase.interclient.Driver";
/**
* JDBC 驱动 pointbase
*/
String DRIVER_POINTBASE = "com.pointbase.jdbc.jdbcUniversalDriver";
/**
* JDBC 驱动 edbc
*/
String DRIVER_EDBC = "ca.edbc.jdbc.EdbcDriver";
/**
* JDBC 驱动 mimer
*/
String DRIVER_MIMER = "com.mimer.jdbc.Driver";
/**
* JDBC 驱动 Apache Kylin
*/
String DRIVER_KYLIN = "org.apache.kylin.jdbc.Driver";
/**
* JDBC 驱动 elastic
*/
String DRIVER_ELASTIC = "com.alibaba.xdriver.elastic.jdbc.ElasticDriver";
/**
* JDBC 驱动 Presto
*/
String DRIVER_PRESTO = "com.facebook.presto.jdbc.PrestoDriver";
/**
* JDBC 驱动 Trino
*/
String DRIVER_TRINO = "io.trino.jdbc.TrinoDriver";
/**
* JDBC 驱动 浪潮K-DB
*/
String DRIVER_INSPUR = "com.inspur.jdbc.KdDriver";
/**
* JDBC 驱动 polardb
*/
String DRIVER_POLARDB = "com.aliyun.polardb.Driver";
/**
* JDBC 驱动 Greenplum
*/
String DRIVER_GREENPLUM = "com.pivotal.jdbc.GreenplumDriver";
}

View File

@ -1,10 +1,12 @@
package org.dromara.hutool.db;
import org.dromara.hutool.core.lang.Console;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
public class OceanBaseTest {
@Test
@Disabled
void connectTest() {
final Db db = Db.of("ob");
//db.insert(Entity.of("test").set("id", 1).set("name", "测试"));

View File

@ -40,7 +40,7 @@ public class DriverUtilTest {
map.put("jdbc:microsoft:", "com.microsoft.jdbc.sqlserver.SQLServerDriver");
map.put("jdbc:h2:", "org.h2.Driver");
map.put("jdbc:derby:", "org.apache.derby.jdbc.EmbeddedDriver");
map.put("jdbc:hsqldb:", "org.hsqldb.jdbcDriver");
map.put("jdbc:hsqldb:", "org.hsqldb.jdbc.JDBCDriver");
map.put("jdbc:dm:", "dm.jdbc.driver.DmDriver");
map.put("jdbc:kingbase8:", "com.kingbase8.Driver");
map.put("jdbc:ignite:thin:", "org.apache.ignite.IgniteJdbcThinDriver");