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) )); + + } +}