|
@@ -5,8 +5,7 @@ import com.ruoyi.common.constant.DataSourceType;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
import com.ruoyi.common.core.domain.entity.DataSource;
|
|
|
|
|
|
-import java.sql.Connection;
|
|
|
-import java.sql.DriverManager;
|
|
|
+import java.sql.*;
|
|
|
import javax.sql.rowset.JdbcRowSet;
|
|
|
|
|
|
import com.sun.rowset.JdbcRowSetImpl;
|
|
@@ -546,88 +545,152 @@ public class TableInfoServiceImpl implements ITableInfoService {
|
|
|
// 封住基础模版库的信息
|
|
|
DataSource dataSource2 = new DataSource();
|
|
|
try {
|
|
|
- this.asd();
|
|
|
+ aa();
|
|
|
+ //this.asd();
|
|
|
} catch (Exception e) {
|
|
|
throw new RuntimeException(e);
|
|
|
}
|
|
|
- for (Map<String, Object> map : dictList) {
|
|
|
- switch (map.get("dictLabel").toString()) {
|
|
|
- case "databaseName":
|
|
|
- dataSource2.setDatabaseName(map.get("dictValue").toString());
|
|
|
- break;
|
|
|
- case "databaseIp":
|
|
|
- dataSource2.setDatabaseIp(map.get("dictValue").toString());
|
|
|
- break;
|
|
|
- case "username":
|
|
|
- dataSource2.setUsername(map.get("dictValue").toString());
|
|
|
- break;
|
|
|
- case "password":
|
|
|
- dataSource2.setPassword(map.get("dictValue").toString());
|
|
|
- break;
|
|
|
- case "portNumber":
|
|
|
- dataSource2.setPortNumber(Long.parseLong(map.get("dictValue").toString()));
|
|
|
- break;
|
|
|
- case "databaseType":
|
|
|
- dataSource2.setDatabaseType(map.get("dictValue").toString());
|
|
|
- break;
|
|
|
- // 如果还有其他字段需要处理,可以继续添加case分支
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 得到数据源信息 创建连接后进行创建数据库,以及基础数据表
|
|
|
- switch (dataSource.getDatabaseType()) {
|
|
|
- case "mysql":
|
|
|
- // 创建数据库
|
|
|
- tableInfoMapper.createMysqlDataBase(dataSource.getDatabaseName());
|
|
|
- // 读取基础表信息
|
|
|
-
|
|
|
- // /system/dict/data/type/{dictType}
|
|
|
-
|
|
|
-
|
|
|
- // 查询主库中字典数据源信息
|
|
|
-
|
|
|
-
|
|
|
- // 创建所需的基础表
|
|
|
- List<String> sd = new ArrayList<>();
|
|
|
- tableInfoMapper.createMysqlTable("表名", "表描述", sd);
|
|
|
-
|
|
|
-
|
|
|
- break;
|
|
|
- case "sqlserver":
|
|
|
- tableInfoMapper.createSqlServerDataBase(dataSource.getDatabaseName());
|
|
|
-
|
|
|
- // tableInfoMapper.createSqlServerTable();
|
|
|
- break;
|
|
|
- case "dm":
|
|
|
- tableInfoMapper.createDmDataBase(dataSource.getDatabaseName());
|
|
|
- break;
|
|
|
- case "oracle":
|
|
|
- tableInfoMapper.createOracleUser(dataSource.getUsername(), dataSource.getPassword());
|
|
|
- break;
|
|
|
- }
|
|
|
+// for (Map<String, Object> map : dictList) {
|
|
|
+// switch (map.get("dictLabel").toString()) {
|
|
|
+// case "databaseName":
|
|
|
+// dataSource2.setDatabaseName(map.get("dictValue").toString());
|
|
|
+// break;
|
|
|
+// case "databaseIp":
|
|
|
+// dataSource2.setDatabaseIp(map.get("dictValue").toString());
|
|
|
+// break;
|
|
|
+// case "username":
|
|
|
+// dataSource2.setUsername(map.get("dictValue").toString());
|
|
|
+// break;
|
|
|
+// case "password":
|
|
|
+// dataSource2.setPassword(map.get("dictValue").toString());
|
|
|
+// break;
|
|
|
+// case "portNumber":
|
|
|
+// dataSource2.setPortNumber(Long.parseLong(map.get("dictValue").toString()));
|
|
|
+// break;
|
|
|
+// case "databaseType":
|
|
|
+// dataSource2.setDatabaseType(map.get("dictValue").toString());
|
|
|
+// break;
|
|
|
+// // 如果还有其他字段需要处理,可以继续添加case分支
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 得到数据源信息 创建连接后进行创建数据库,以及基础数据表
|
|
|
+// switch (dataSource.getDatabaseType()) {
|
|
|
+// case "mysql":
|
|
|
+// // 创建数据库
|
|
|
+// tableInfoMapper.createMysqlDataBase(dataSource.getDatabaseName());
|
|
|
+// // 读取基础表信息
|
|
|
+//
|
|
|
+// // /system/dict/data/type/{dictType}
|
|
|
+//
|
|
|
+//
|
|
|
+// // 查询主库中字典数据源信息
|
|
|
+//
|
|
|
+//
|
|
|
+// // 创建所需的基础表
|
|
|
+// List<String> sd = new ArrayList<>();
|
|
|
+// tableInfoMapper.createMysqlTable("表名", "表描述", sd);
|
|
|
+//
|
|
|
+//
|
|
|
+// break;
|
|
|
+// case "sqlserver":
|
|
|
+// tableInfoMapper.createSqlServerDataBase(dataSource.getDatabaseName());
|
|
|
+//
|
|
|
+// // tableInfoMapper.createSqlServerTable();
|
|
|
+// break;
|
|
|
+// case "dm":
|
|
|
+// tableInfoMapper.createDmDataBase(dataSource.getDatabaseName());
|
|
|
+// break;
|
|
|
+// case "oracle":
|
|
|
+// tableInfoMapper.createOracleUser(dataSource.getUsername(), dataSource.getPassword());
|
|
|
+// break;
|
|
|
+// }
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
public static void asd() throws Exception {
|
|
|
+ //Class.forName("dm.jdbc.driver.DmDriver");
|
|
|
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
|
|
|
try (
|
|
|
-// Connection con = DriverManager.getConnection("jdbc:sqlserver://192.168.110.52", "sa", "root1234");
|
|
|
- Connection con = DriverManager.getConnection("jdbc:sqlserver://192.168.110.52:1433;", "sa", "root1234");
|
|
|
+ //sqlserver
|
|
|
+ Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=test;trustServerCertificate=true;", "sa", "root1234");
|
|
|
+ //达梦
|
|
|
+// Connection con = DriverManager.getConnection("jdbc:dm://192.168.110.52:5236", "sysdba", "sysdba1234");
|
|
|
JdbcRowSet jrs = new JdbcRowSetImpl(con);
|
|
|
) {
|
|
|
-// jrs.setCommand("use test"); //执行选择数据库操作
|
|
|
-// jrs.execute();
|
|
|
+
|
|
|
+ //查询达梦数据库
|
|
|
+ //jrs.setCommand("select name from sysobjects where TYPE$='sch' and SUBTYPE$ is null");
|
|
|
+
|
|
|
+ //查询sqlserver数据库
|
|
|
jrs.setCommand("select name from sys.databases;");
|
|
|
jrs.execute();
|
|
|
+
|
|
|
while (jrs.next()) {
|
|
|
System.out.println(jrs.getString(1));
|
|
|
// System.out.println(jrs.getString(1) + "\t" + jrs.getString(2) + "\t" + jrs.getString(3));
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
+ System.out.println(e.getMessage());
|
|
|
+ e.printStackTrace();
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void aa() throws Exception{
|
|
|
+ Connection con;
|
|
|
+ Statement st;
|
|
|
+ String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
|
|
|
+ String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=;trustServerCertificate=true;";
|
|
|
+ String userName="sa";
|
|
|
+ String userPwd="root1234";
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ Class.forName(driverName); //jdk版本6.0以上可以省略这句话
|
|
|
+ con=DriverManager.getConnection(dbURL,userName,userPwd);
|
|
|
+
|
|
|
+ st=con.createStatement();
|
|
|
+
|
|
|
+ //查询sql
|
|
|
+// String sql= "select name from sys.databases;";
|
|
|
+// ResultSet rs = st.executeQuery(sql);
|
|
|
+// while(rs.next()){//如果对象中有数据,就会循环打印出来
|
|
|
+// System.out.println(rs.getString(1));
|
|
|
+// }
|
|
|
+
|
|
|
+ //创建数据库
|
|
|
+ String sql = "CREATE DATABASE hans;";
|
|
|
+ st.executeUpdate(sql);
|
|
|
+
|
|
|
+ }catch(Exception e)
|
|
|
+ {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
+// Connection con;
|
|
|
+// Statement st;
|
|
|
+// publicstatic void main(String [] args)
|
|
|
+// {
|
|
|
+// StringdriverName=”com.microsoft.sqlserver.jdbc.SQLServerDriver”;
|
|
|
+// StringdbURL=”jdbc:sqlserver://localhost:1433;DatabaseName=你的数据库名”;
|
|
|
+// String userName=”填写之前设置的用户名”;
|
|
|
+// String userPwd=”填写密码”;
|
|
|
+// String sql=“这里填写你想输入的SQL语句”;
|
|
|
+// try
|
|
|
+// {
|
|
|
+// Class.forName(driverName); //jdk版本6.0以上可以省略这句话
|
|
|
+// con=DriverManager.getConnection(dbURL,userName,userPwd);
|
|
|
+// st=con.createStatement();
|
|
|
+// st.executeUpdate(sql);
|
|
|
+// }catch(Exception e)
|
|
|
+// {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
}
|