From 988b8a465a259fc32260c14f1e7fc123b6bb380e Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 9 May 2024 17:31:11 +0800 Subject: [PATCH] fix code --- .../hutool/db/dialect/DialectFactory.java | 19 +- .../hutool/db/dialect/DriverNamePool.java | 128 --------- .../hutool/db/driver/DriverIdentifier.java | 106 ++++---- .../dromara/hutool/db/driver/DriverNames.java | 252 ++++++++++++++++++ .../org/dromara/hutool/db/OceanBaseTest.java | 2 + .../hutool/db/driver/DriverUtilTest.java | 2 +- 6 files changed, 318 insertions(+), 191 deletions(-) delete mode 100644 hutool-db/src/main/java/org/dromara/hutool/db/dialect/DriverNamePool.java create mode 100644 hutool-db/src/main/java/org/dromara/hutool/db/driver/DriverNames.java diff --git a/hutool-db/src/main/java/org/dromara/hutool/db/dialect/DialectFactory.java b/hutool-db/src/main/java/org/dromara/hutool/db/dialect/DialectFactory.java index c8a69785f..08ed75618 100644 --- a/hutool-db/src/main/java/org/dromara/hutool/db/dialect/DialectFactory.java +++ b/hutool-db/src/main/java/org/dromara/hutool/db/dialect/DialectFactory.java @@ -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 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); } } diff --git a/hutool-db/src/main/java/org/dromara/hutool/db/dialect/DriverNamePool.java b/hutool-db/src/main/java/org/dromara/hutool/db/dialect/DriverNamePool.java deleted file mode 100644 index 5d6307746..000000000 --- a/hutool-db/src/main/java/org/dromara/hutool/db/dialect/DriverNamePool.java +++ /dev/null @@ -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"; - -} diff --git a/hutool-db/src/main/java/org/dromara/hutool/db/driver/DriverIdentifier.java b/hutool-db/src/main/java/org/dromara/hutool/db/driver/DriverIdentifier.java index 28bbcf86d..804ab8dd6 100644 --- a/hutool-db/src/main/java/org/dromara/hutool/db/driver/DriverIdentifier.java +++ b/hutool-db/src/main/java/org/dromara/hutool/db/driver/DriverIdentifier.java @@ -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 JConnect,见:https://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:") ); } diff --git a/hutool-db/src/main/java/org/dromara/hutool/db/driver/DriverNames.java b/hutool-db/src/main/java/org/dromara/hutool/db/driver/DriverNames.java new file mode 100644 index 000000000..adef8f790 --- /dev/null +++ b/hutool-db/src/main/java/org/dromara/hutool/db/driver/DriverNames.java @@ -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 驱动 SQLServer,4.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"; + +} diff --git a/hutool-db/src/test/java/org/dromara/hutool/db/OceanBaseTest.java b/hutool-db/src/test/java/org/dromara/hutool/db/OceanBaseTest.java index a416e58e1..e0788f447 100644 --- a/hutool-db/src/test/java/org/dromara/hutool/db/OceanBaseTest.java +++ b/hutool-db/src/test/java/org/dromara/hutool/db/OceanBaseTest.java @@ -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", "测试")); diff --git a/hutool-db/src/test/java/org/dromara/hutool/db/driver/DriverUtilTest.java b/hutool-db/src/test/java/org/dromara/hutool/db/driver/DriverUtilTest.java index 296b42835..6df799c62 100644 --- a/hutool-db/src/test/java/org/dromara/hutool/db/driver/DriverUtilTest.java +++ b/hutool-db/src/test/java/org/dromara/hutool/db/driver/DriverUtilTest.java @@ -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");