xuezizhuo 2 rokov pred
rodič
commit
170858a8ca

+ 5 - 0
src/main/java/com/customer/mapper/TableInfoMapper.java

@@ -59,6 +59,11 @@ public interface TableInfoMapper {
 
     //---------------------------------sqlServer------------------------------------------
 
+    /**
+     * 切换数据源
+     */
+    void useSqlserverDatabase(String databaseName);
+
     /**
      * 查询数据库表是否存在
      */

+ 13 - 2
src/main/java/com/customer/service/impl/TableInfoServiceImpl.java

@@ -69,6 +69,10 @@ public class TableInfoServiceImpl implements ITableInfoService {
     @Override
     @Transactional
     public void createSqlServerDataBase(Map<String, Object> map) {
+        DataSource dataSource = JSON.parseObject(redisTemplate.opsForValue().get("DataSource").toString(),DataSource.class);
+
+
+
         String dataBaseName = (String) map.get("dataBaseName");
         String tableName = (String) map.get("tableName");
         String tableComment = (String) map.get("tableComment");
@@ -101,9 +105,16 @@ public class TableInfoServiceImpl implements ITableInfoService {
             }
             return stringBuilder.toString();
         }).collect(Collectors.toList());
+        if(dataBaseName.equals(dataSource.getDatabaseName())){
+            tableInfoMapper.createSqlServerDataBase(dataBaseName);
+            tableInfoMapper.createSqlServerTable(dataBaseName,tableName,list,descriptionList,tableComment);
+        }else {
+            tableInfoMapper.createSqlServerDataBase(dataBaseName);
+            tableInfoMapper.useSqlserverDatabase(dataBaseName);
+            tableInfoMapper.createSqlServerTable(dataBaseName,tableName,list,descriptionList,tableComment);
+            tableInfoMapper.useSqlserverDatabase(dataSource.getDatabaseName());
+        }
 
-        tableInfoMapper.createSqlServerDataBase(dataBaseName);
-        tableInfoMapper.createSqlServerTable(dataBaseName,tableName,list,descriptionList,tableComment);
     }
 
     @Override

+ 4 - 0
src/main/resources/mapper/TableInfoMapper.xml

@@ -86,6 +86,10 @@
 
     </select>
 
+    <update id="useSqlserverDatabase">
+        use ${databaseName};
+    </update>
+
     <select id="sqlServerTableExist" resultType="int">
         select count(1) from sysobjects where id = object_id(#{tableName})
     </select>