Przeglądaj źródła

mybatis动态数据源也能切换了

zhouhao 8 lat temu
rodzic
commit
6601b0e1ad

+ 0 - 3
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/quartz/QuartzJob.java

@@ -2,9 +2,6 @@ package org.hsweb.web.bean.po.quartz;
 
 import org.hsweb.web.bean.po.GenericPo;
 
-/**
- * Created by zhouhao on 16-5-20.
- */
 public class QuartzJob extends GenericPo<String> {
     private String name;
 

+ 0 - 3
hsweb-web-dao/hsweb-web-dao-mybatis/src/main/java/org/hsweb/web/mybatis/MybatisDaoAutoConfiguration.java

@@ -9,9 +9,6 @@ import org.springframework.context.annotation.Configuration;
 
 import javax.annotation.PostConstruct;
 
-/**
- * Created by zhouhao on 16-5-6.
- */
 @Configuration
 @ComponentScan(basePackages = {"org.hsweb.web.mybatis"})
 @MapperScan(basePackages = {"org.hsweb.web.dao"})

+ 19 - 1
hsweb-web-service/hsweb-web-service-simple/src/test/java/org/hsweb/web/service/impl/datasource/DatasourceTests.java

@@ -17,9 +17,13 @@
 package org.hsweb.web.service.impl.datasource;
 
 import org.hsweb.ezorm.executor.SqlExecutor;
+import org.hsweb.web.bean.common.QueryParam;
 import org.hsweb.web.bean.po.datasource.DataSource;
+import org.hsweb.web.core.Install;
+import org.hsweb.web.core.datasource.DynamicDataSource;
 import org.hsweb.web.service.datasource.DataSourceService;
 import org.hsweb.web.service.impl.AbstractTestCase;
+import org.hsweb.web.service.user.UserService;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,13 +42,17 @@ public class DatasourceTests extends AbstractTestCase {
     @Resource
     private TestService testService;
 
+    @Resource
+    private UserService userService;
+    @Resource
+    Install install;
     @PostConstruct
     public void init() {
         testService.setSqlExecutor(sqlExecutor);
     }
 
     @Before
-    public void setup() throws SQLException {
+    public void setup() throws Exception {
         dataSourceService.delete("test");
         DataSource dataSource = new DataSource();
         dataSource.setId("test");
@@ -54,7 +62,17 @@ public class DatasourceTests extends AbstractTestCase {
         dataSource.setPassword("");
         dataSource.setCreateDate(new Date());
         dataSource.setUrl("jdbc:h2:file:./data/h2db2;DB_CLOSE_ON_EXIT=FALSE");
+
         dataSourceService.insert(dataSource);
+
+        DynamicDataSource.use("test");
+        install.install();//安装新的数据库
+
+        DynamicDataSource.useDefault();
+        userService.select(QueryParam.build());
+        DynamicDataSource.use("test");
+        userService.select(QueryParam.build());
+
     }
 
     @Test

+ 1 - 0
hsweb-web-service/hsweb-web-service-simple/src/test/resources/application.yml

@@ -51,3 +51,4 @@ mybatis:
     mapper-locations: classpath*:org/hsweb/web/dao/impl/mybatis/mapper/oracle/**/*.xml
     config: classpath:mybatis-config.xml
     typeHandlers-package: org.hsweb.web.mybatis.handler
+    dynamic-datasource: on

+ 2 - 1
hsweb-web-service/hsweb-web-service-simple/src/test/resources/logback.xml

@@ -9,9 +9,10 @@
     <logger name="org.springframework" level="ERROR" />
     <logger name="org.apache.tomcat" level="ERROR" />
     <logger name="org.hsweb" level="DEBUG" />
-    <logger name="com.atomikos" level="ON" />
+    <logger name="com.atomikos" level="ERROR" />
     <logger name="org.h2" level="ON" />
     <logger name="org.mybatis.spring.SqlSessionUtils" level="DEBUG" />
+    <logger name="org.hsweb.web.datasource" level="INFO" />
     <root level="ERROR">
         <appender-ref ref="Console"/>
     </root>