From 582a6eb658304e2acda0d7bbfb9849a8d0dae5db Mon Sep 17 00:00:00 2001 From: mochouZero555 Date: Tue, 14 Feb 2023 10:20:34 +0800 Subject: [PATCH] =?UTF-8?q?IssueI6EUXQ=20=E4=BF=AE=E5=A4=8D=E9=80=9A?= =?UTF-8?q?=E8=BF=87JDBC=20URL=E7=AD=89=E4=BF=A1=E6=81=AF=E8=AF=86?= =?UTF-8?q?=E5=88=ABJDBC=E9=A9=B1=E5=8A=A8=20=E6=97=B6=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E5=8F=8A=E9=83=A8=E5=88=86=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/hutool/db/dialect/DialectFactory.java | 8 ++- .../hutool/db/dialect/DialectFactoryTest.java | 51 +++++++++++++++++++ 2 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 hutool-db/src/test/java/cn/hutool/db/dialect/DialectFactoryTest.java diff --git a/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java b/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java index ef6b81cab..0e439019a 100755 --- a/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java +++ b/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java @@ -153,18 +153,16 @@ public class DialectFactory implements DriverNamePool { // 华为高斯 driver = DRIVER_GAUSS; } else if (nameContainsProductInfo.contains("gbase")) { - // 华为高斯 + // 南大通用数据库 driver = DRIVER_GBASE; } else if (nameContainsProductInfo.contains("oscar")) { // 神州数据库 driver = DRIVER_OSCAR; } else if (nameContainsProductInfo.contains("sybase")) { - // 神州数据库 + // Sybase driver = DRIVER_SYBASE; - } else if (nameContainsProductInfo.contains("xugu")) { - // 虚谷数据库 - driver = DRIVER_XUGO; }else if (nameContainsProductInfo.contains("mariadb")) { + // mariadb driver = DRIVER_MARIADB; } diff --git a/hutool-db/src/test/java/cn/hutool/db/dialect/DialectFactoryTest.java b/hutool-db/src/test/java/cn/hutool/db/dialect/DialectFactoryTest.java new file mode 100644 index 000000000..77f86607e --- /dev/null +++ b/hutool-db/src/test/java/cn/hutool/db/dialect/DialectFactoryTest.java @@ -0,0 +1,51 @@ +package cn.hutool.db.dialect; + +import cn.hutool.core.util.RandomUtil; +import org.junit.Assert; +import org.junit.Test; + + +import java.util.HashMap; + +import java.util.Map; + +import static cn.hutool.db.dialect.DriverNamePool.*; + +public class DialectFactoryTest { + + @Test + public void identifyDriverTest(){ + + Map map = new HashMap<>(25); + map.put("mysql",DRIVER_MYSQL_V6); + map.put("cobar",DRIVER_MYSQL_V6); + map.put("oracle",DRIVER_ORACLE); + map.put("postgresql",DRIVER_POSTGRESQL); + map.put("sqlite",DRIVER_SQLLITE3); + map.put("sqlserver",DRIVER_SQLSERVER); + map.put("microsoft",DRIVER_SQLSERVER); + map.put("hive2",DRIVER_HIVE2); + map.put("hive",DRIVER_HIVE); + map.put("h2",DRIVER_H2); + map.put("derby",DRIVER_DERBY); + map.put("hsqldb",DRIVER_HSQLDB); + map.put("dm",DRIVER_DM7); + map.put("kingbase8",DRIVER_KINGBASE8); + map.put("ignite",DRIVER_IGNITE_THIN); + map.put("clickhouse",DRIVER_CLICK_HOUSE); + map.put("highgo",DRIVER_HIGHGO); + map.put("db2",DRIVER_DB2); + map.put("xugu",DRIVER_XUGU); + map.put("phoenix",DRIVER_PHOENIX); + map.put("zenith",DRIVER_GAUSS); + map.put("gbase",DRIVER_GBASE); + map.put("oscar",DRIVER_OSCAR); + map.put("sybase",DRIVER_SYBASE); + map.put("mariadb",DRIVER_MARIADB); + + + map.forEach((k,v) -> Assert.assertEquals(v, + DialectFactory.identifyDriver(k+ RandomUtil.randomString(2),null) )); + + } +}