diff --git a/druid-spring-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/druid-spring-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json index c4ebded281..e3ac7726b7 100644 --- a/druid-spring-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/druid-spring-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -108,6 +108,9 @@ { "value": "oceanbase" }, + { + "value": "xugu" + }, { "value": "odps" }, @@ -170,6 +173,9 @@ }, { "value": "oceanbase" + }, + { + "value": "xugu" }, { "value": "odps" diff --git a/src/main/java/com/alibaba/druid/util/JdbcConstants.java b/src/main/java/com/alibaba/druid/util/JdbcConstants.java index 75aae6421e..a4ecbe5004 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcConstants.java +++ b/src/main/java/com/alibaba/druid/util/JdbcConstants.java @@ -71,6 +71,9 @@ public interface JdbcConstants { String GBASE = "gbase"; String GBASE_DRIVER = "com.gbase.jdbc.Driver"; + String XUGU = "xugu"; + String XUGU_DRIVER = "com.xugu.cloudjdbc.Driver"; + String OCEANBASE = "oceanbase"; String OCEANBASE_DRIVER = "com.mysql.jdbc.Driver"; String INFORMIX = "informix"; diff --git a/src/main/java/com/alibaba/druid/util/JdbcUtils.java b/src/main/java/com/alibaba/druid/util/JdbcUtils.java index b03077f7c2..4b955dd74f 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcUtils.java +++ b/src/main/java/com/alibaba/druid/util/JdbcUtils.java @@ -454,6 +454,8 @@ public final class JdbcUtils implements JdbcConstants { return JdbcConstants.KINGBASE_DRIVER; } else if (rawUrl.startsWith("jdbc:gbase:")) { return JdbcConstants.GBASE_DRIVER; + } else if (rawUrl.startsWith("jdbc:xugu:")) { + return JdbcConstants.XUGU_DRIVER; } else if (rawUrl.startsWith("jdbc:hive:")) { return JdbcConstants.HIVE_DRIVER; } else if (rawUrl.startsWith("jdbc:hive2:")) { @@ -547,6 +549,8 @@ public final class JdbcUtils implements JdbcConstants { return JdbcConstants.KINGBASE; } else if (rawUrl.startsWith("jdbc:gbase:")) { return JdbcConstants.GBASE; + } else if (rawUrl.startsWith("jdbc:xugu:")) { + return JdbcConstants.XUGU; } else if (rawUrl.startsWith("jdbc:log4jdbc:")) { return LOG4JDBC; } else if (rawUrl.startsWith("jdbc:hive:")) { diff --git a/src/test/java/com/alibaba/druid/bvt/utils/JdbcUtilsTest2.java b/src/test/java/com/alibaba/druid/bvt/utils/JdbcUtilsTest2.java index 8092da876b..d2038bed74 100644 --- a/src/test/java/com/alibaba/druid/bvt/utils/JdbcUtilsTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/utils/JdbcUtilsTest2.java @@ -20,4 +20,12 @@ public class JdbcUtilsTest2 extends TestCase { public void test_kingbase() throws Exception { assertEquals(JdbcConstants.KINGBASE_DRIVER, JdbcUtils.getDriverClassName("jdbc:kingbase:")); } + + public void test_xugu_dbtype() throws Exception { + assertEquals(JdbcConstants.XUGU, JdbcUtils.getDbType("jdbc:xugu://127.0.0.1:5138/TEST", "com.xugu.cloudjdbc.Driver")); + } + + public void test_xugu_driver() throws Exception { + assertEquals(JdbcConstants.XUGU_DRIVER, JdbcUtils.getDriverClassName("jdbc:xugu:")); + } }