Procházet zdrojové kódy

新增默认的jdbc sql执行器

zhouhao před 7 roky
rodič
revize
0dc8fcabec

+ 1 - 1
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/DefaultJdbcExecutor.java

@@ -1,4 +1,4 @@
-package org.hswebframework.web.dao.mybatis;
+package org.hswebframework.web.datasource;
 
 import org.hsweb.ezorm.rdb.executor.AbstractJdbcSqlExecutor;
 import org.hsweb.ezorm.rdb.executor.SQL;

+ 26 - 0
hsweb-datasource/hsweb-datasource-api/src/main/java/org/hswebframework/web/datasource/DynamicDataSourceAutoConfiguration.java

@@ -1,5 +1,6 @@
 package org.hswebframework.web.datasource;
 
+import org.hsweb.ezorm.rdb.executor.SqlExecutor;
 import org.hswebframework.web.datasource.starter.AopDataSourceSwitcherAutoConfiguration;
 import org.hswebframework.web.datasource.switcher.DataSourceSwitcher;
 import org.hswebframework.web.datasource.switcher.DefaultDataSourceSwitcher;
@@ -11,6 +12,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
+import javax.sql.DataSource;
+
 /**
  * TODO 完成注释
  *
@@ -26,6 +29,29 @@ public class DynamicDataSourceAutoConfiguration implements BeanPostProcessor {
         return new DefaultDataSourceSwitcher();
     }
 
+    @Bean
+    @ConditionalOnMissingBean(SqlExecutor.class)
+    public SqlExecutor sqlExecutor(DataSource dataSource) {
+        return new DefaultJdbcExecutor(dataSource);
+    }
+
+    @Bean
+    @ConditionalOnMissingBean(DynamicDataSourceService.class)
+    public DynamicDataSourceService justSupportDefaultDataSourceService(DataSource dataSource){
+        DynamicDataSourceProxy dataSourceProxy=new DynamicDataSourceProxy(null,dataSource);
+        return new DynamicDataSourceService() {
+            @Override
+            public DynamicDataSource getDataSource(String dataSourceId) {
+                throw new UnsupportedOperationException("dynamic datasource not enable");
+            }
+
+            @Override
+            public DynamicDataSource getDefaultDataSource() {
+                return dataSourceProxy;
+            }
+        };
+
+    }
     @Override
     public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
         return bean;