ソースを参照

初始化数据库demo

xuezizhuo 1 年間 前
コミット
954123d0d1

+ 127 - 64
zkqy-datamodeling/src/main/java/com/zkqy/datamodeling/service/impl/TableInfoServiceImpl.java

@@ -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();
+//        }
+//    }
+
 }