diff --git a/pigx-common/pigx-common-sequence/pom.xml b/pigx-common/pigx-common-sequence/pom.xml
index 4c8ba03b3..524b8c823 100755
--- a/pigx-common/pigx-common-sequence/pom.xml
+++ b/pigx-common/pigx-common-sequence/pom.xml
@@ -28,5 +28,10 @@
com.baomidou
mybatis-plus-extension
+
+ com.alibaba
+ druid-spring-boot-starter
+ true
+
diff --git a/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/properties/SequenceDbProperties.java b/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/properties/SequenceDbProperties.java
index 9c1fc3231..a9c3729c1 100644
--- a/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/properties/SequenceDbProperties.java
+++ b/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/properties/SequenceDbProperties.java
@@ -5,6 +5,7 @@ package com.pig4cloud.pigx.common.sequence.properties;
* @date 2019-05-26
*/
+import com.baomidou.mybatisplus.annotation.DbType;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@@ -20,6 +21,11 @@ import org.springframework.stereotype.Component;
@ConfigurationProperties(prefix = "pigx.xsequence.db")
public class SequenceDbProperties extends BaseSequenceProperties {
+ /**
+ * 默认数据库类型
+ */
+ private DbType dbType = DbType.MYSQL;
+
/**
* 表名称
*/
@@ -30,4 +36,4 @@ public class SequenceDbProperties extends BaseSequenceProperties {
*/
private int retryTimes = 1;
-}
\ No newline at end of file
+}
diff --git a/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/range/impl/db/provider/SqlProviderFactory.java b/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/range/impl/db/provider/SqlProviderFactory.java
index 8ac91b318..0ffd4d80f 100644
--- a/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/range/impl/db/provider/SqlProviderFactory.java
+++ b/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/range/impl/db/provider/SqlProviderFactory.java
@@ -1,15 +1,17 @@
package com.pig4cloud.pigx.common.sequence.range.impl.db.provider;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.druid.pool.DruidDataSource;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.toolkit.JdbcUtils;
+import com.pig4cloud.pigx.common.sequence.properties.SequenceDbProperties;
import lombok.RequiredArgsConstructor;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.context.annotation.Lazy;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import java.util.List;
+import java.util.Optional;
/**
* sql语句提供工厂
@@ -22,20 +24,29 @@ import java.util.List;
@RequiredArgsConstructor
public class SqlProviderFactory {
- private final DataSourceProperties dataSourceProperties;
+ private final Optional druidDataSourceOptional;
+
+ private final SequenceDbProperties dbProperties;
private final List sqlProviders;
private final Environment environment;
public SqlProvider getSqlProvider() {
- String url = dataSourceProperties.getUrl();
- // druid 形式 进行降级获取
- if (StrUtil.isBlank(url)) {
- url = environment.getProperty("spring.datasource.druid.url");
+ DbType dbType = null;
+ if (druidDataSourceOptional.isPresent()) {
+ String url = druidDataSourceOptional.get().getUrl();
+ // druid 形式 进行降级获取
+ if (StrUtil.isBlank(url)) {
+ url = environment.getProperty("spring.datasource.druid.url");
+ }
+
+ JdbcUtils.getDbType(url);
+ }
+ else {
+ dbType = dbProperties.getDbType();
}
- DbType dbType = JdbcUtils.getDbType(url);
for (SqlProvider sqlProvider : sqlProviders) {
if (sqlProvider.support(dbType)) {
return sqlProvider;