diff --git a/src/main/java/com/dsideal/base/Tools/AddXzqh.java b/src/main/java/com/dsideal/base/Tools/AddXzqh.java index fec0cca3..c9cb2714 100644 --- a/src/main/java/com/dsideal/base/Tools/AddXzqh.java +++ b/src/main/java/com/dsideal/base/Tools/AddXzqh.java @@ -1,13 +1,10 @@ package com.dsideal.base.Tools; import com.dsideal.base.DataEase.Model.DataEaseModel; -import com.dsideal.base.Util.SSHConnector; -import com.jfinal.plugin.activerecord.ActiveRecordPlugin; +import com.dsideal.base.Tools.Util.SshConnectUtil; +import com.jcraft.jsch.JSchException; import com.jfinal.plugin.activerecord.Record; -import com.jfinal.plugin.activerecord.dialect.MysqlDialect; -import com.jfinal.plugin.hikaricp.HikariCpPlugin; -import java.io.File; import java.io.IOException; import java.util.List; @@ -15,79 +12,32 @@ import com.jcraft.jsch.Session; public class AddXzqh { - public static void main(String[] args) throws IOException { - //远程主机的SSH登录信息 - String sshHost = "117.78.60.214"; - int sshPort = 52025; - String sshUser = "root"; - String sshPassword = "DsIdeal@123"; - String mysqlHost = "127.0.0.1"; // MySQL server host - int mysqlPort = 3306; // MySQL server port - Session session = SSHConnector.createSSHSession(sshHost, sshPort, sshUser, sshPassword); - try { - int localPort = 33306; // Local port to forward to MySQL server - session.setPortForwardingL(localPort, mysqlHost, mysqlPort); - String jdbcUrl = "jdbc:mysql://localhost:" + localPort + "/ds_db"; + public static void main(String[] args) throws IOException, JSchException { + Session session = SshConnectUtil.Init(); - String user = "root"; - String password = "Password123@mysql"; - String driverClassName = "com.mysql.cj.jdbc.Driver"; + DataEaseModel dm = new DataEaseModel(); - HikariCpPlugin masterPlugin = new HikariCpPlugin(jdbcUrl, user, password, driverClassName); - masterPlugin.start(); + //遍历所有以excel_开头的表,找出这些表中是不是存在行政区划,上级行政区划的列名 + for (int identity_id : new int[]{1, 2, 3}) { + List list = dm.getDataSetByIdentityId(identity_id); + //开始检查 + for (Record record : list) { + String tableName = record.getStr("table_name"); + String dataSetName = record.getStr("dataset_name"); - HikariCpPlugin dataEasePlugin = new HikariCpPlugin(jdbcUrl.replace("ds_db", DataEaseModel.DB_NAME), user, password, driverClassName); - dataEasePlugin.start(); - - // 配置ActiveRecord插件 - ActiveRecordPlugin arp = new ActiveRecordPlugin(masterPlugin); - arp.setDialect(new MysqlDialect()); - - ActiveRecordPlugin arpDataEase = new ActiveRecordPlugin(DataEaseModel.DB_NAME, dataEasePlugin); - arpDataEase.setDialect(new MysqlDialect()); - - //遍历sql目录下所有的sql文件 - File sqlDir; - String basePath = AddXzqh.class.getResource("/").getPath(); - sqlDir = new File(basePath + "/Sql"); - File[] sqlFiles = sqlDir.listFiles(); - for (File sqlFile : sqlFiles != null ? sqlFiles : new File[0]) { - //只加载.sql文件 - if (sqlFile.getName().indexOf(".sql") > 0) { - arp.addSqlTemplate("/Sql/" + sqlFile.getName()); - arpDataEase.addSqlTemplate("/Sql/" + sqlFile.getName()); + //这张表中存在行政区划的列名,就跳过,不处理 + if (dm.hasNoColumnName(tableName, "行政区划")) { + //System.out.println((identity_id == 2 ? "【市州】" : "【县区】") + dataSetName + "表:" + tableName + "没有行政区划的列名,请手动添加"); + dm.addColumn(tableName, "行政区划"); } - } - arp.start(); - arpDataEase.start(); - - DataEaseModel dm = new DataEaseModel(); - - //遍历所有以excel_开头的表,找出这些表中是不是存在行政区划,上级行政区划的列名 - for (int identity_id : new int[]{1, 2, 3}) { - List list = dm.getDataSetByIdentityId(identity_id); - //开始检查 - for (Record record : list) { - String tableName = record.getStr("table_name"); - String dataSetName = record.getStr("dataset_name"); - - //这张表中存在行政区划的列名,就跳过,不处理 - if (dm.hasNoColumnName(tableName, "行政区划")) { - //System.out.println((identity_id == 2 ? "【市州】" : "【县区】") + dataSetName + "表:" + tableName + "没有行政区划的列名,请手动添加"); - dm.addColumn(tableName, "行政区划"); - } - //这张表中存在上级行政区划的列名,就跳过,不处理 - if (dm.hasNoColumnName(tableName, "上级行政区划")) { - //System.out.println((identity_id == 2 ? "【市州】" : "【县区】") + dataSetName + "表:" + tableName + "没有行政区划的列名,请手动添加"); - dm.addColumn(tableName, "上级行政区划"); - } + //这张表中存在上级行政区划的列名,就跳过,不处理 + if (dm.hasNoColumnName(tableName, "上级行政区划")) { + //System.out.println((identity_id == 2 ? "【市州】" : "【县区】") + dataSetName + "表:" + tableName + "没有行政区划的列名,请手动添加"); + dm.addColumn(tableName, "上级行政区划"); } } - System.out.println("恭喜,所有数据处理完毕。"); - - session.disconnect(); - } catch (Exception e) { - e.printStackTrace(); } + System.out.println("恭喜,所有数据处理完毕。"); + session.disconnect(); } } diff --git a/src/main/java/com/dsideal/base/Tools/ChangeDataEaseCity.java b/src/main/java/com/dsideal/base/Tools/ChangeDataEaseCity.java index 2a4e3657..c8d9af2d 100644 --- a/src/main/java/com/dsideal/base/Tools/ChangeDataEaseCity.java +++ b/src/main/java/com/dsideal/base/Tools/ChangeDataEaseCity.java @@ -17,7 +17,7 @@ public class ChangeDataEaseCity { */ public static void main(String[] args) { //加载配置文件 - String configFile = "application_dev.yaml"; + String configFile = "application.yaml"; Prop PropKit = new YamlProp(configFile); HikariCpPlugin dataEasePlugin = new HikariCpPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"), diff --git a/src/main/java/com/dsideal/base/Tools/InitDataEaseDataSet2.java b/src/main/java/com/dsideal/base/Tools/ExportExcel.java similarity index 56% rename from src/main/java/com/dsideal/base/Tools/InitDataEaseDataSet2.java rename to src/main/java/com/dsideal/base/Tools/ExportExcel.java index dcf20c1a..2b94fb53 100644 --- a/src/main/java/com/dsideal/base/Tools/InitDataEaseDataSet2.java +++ b/src/main/java/com/dsideal/base/Tools/ExportExcel.java @@ -1,73 +1,28 @@ package com.dsideal.base.Tools; import com.dsideal.base.DataEase.Model.DataEaseModel; -import com.dsideal.base.Util.SSHConnector; +import com.dsideal.base.Tools.Util.SshConnectUtil; +import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; -import com.jfinal.plugin.activerecord.ActiveRecordPlugin; -import com.jfinal.plugin.activerecord.dialect.MysqlDialect; -import com.jfinal.plugin.hikaricp.HikariCpPlugin; -import java.io.File; import java.io.IOException; -public class InitDataEaseDataSet2 { +public class ExportExcel { - public static void main(String[] args) throws IOException { + public static void main(String[] args) throws IOException, JSchException { - //远程主机的SSH登录信息 - String sshHost = "117.78.60.214"; - int sshPort = 52025; - String sshUser = "root"; - String sshPassword = "DsIdeal@123"; - String mysqlHost = "127.0.0.1"; // MySQL server host - int mysqlPort = 3306; // MySQL server port - Session session = SSHConnector.createSSHSession(sshHost, sshPort, sshUser, sshPassword); - try { - int localPort = 33306; // Local port to forward to MySQL server - session.setPortForwardingL(localPort, mysqlHost, mysqlPort); - String jdbcUrl = "jdbc:mysql://localhost:" + localPort + "/ds_db"; + //通过ssh链接到Mysql数据库 + Session session = SshConnectUtil.Init(); - String user = "root"; - String password = "Password123@mysql"; - String driverClassName = "com.mysql.cj.jdbc.Driver"; + DataEaseModel dm = new DataEaseModel(); - HikariCpPlugin masterPlugin = new HikariCpPlugin(jdbcUrl, user, password, driverClassName); - masterPlugin.start(); - - HikariCpPlugin dataEasePlugin = new HikariCpPlugin(jdbcUrl.replace("ds_db", DataEaseModel.DB_NAME), user, password, driverClassName); - dataEasePlugin.start(); - - // 配置ActiveRecord插件 - ActiveRecordPlugin arp = new ActiveRecordPlugin(masterPlugin); - arp.setDialect(new MysqlDialect()); - - ActiveRecordPlugin arpDataEase = new ActiveRecordPlugin(DataEaseModel.DB_NAME, dataEasePlugin); - arpDataEase.setDialect(new MysqlDialect()); - - //遍历sql目录下所有的sql文件 - File sqlDir; - String basePath = InitDataEaseDataSet2.class.getResource("/").getPath(); - sqlDir = new File(basePath + "/Sql"); - File[] sqlFiles = sqlDir.listFiles(); - for (File sqlFile : sqlFiles != null ? sqlFiles : new File[0]) { - //只加载.sql文件 - if (sqlFile.getName().indexOf(".sql") > 0) { - arp.addSqlTemplate("/Sql/" + sqlFile.getName()); - arpDataEase.addSqlTemplate("/Sql/" + sqlFile.getName()); - } - } - arp.start(); - arpDataEase.start(); - - DataEaseModel dm = new DataEaseModel(); - - //1、添加到数据集表中 - dm.collectDataSet(); - //2、加上主键 - dm.addPrimaryKey(); - //3、将所有非空列去掉不允许为空的限制 - dm.updateNotNullColumns(); + //1、添加到数据集表中 + dm.collectDataSet(); + //2、加上主键 + dm.addPrimaryKey(); + //3、将所有非空列去掉不允许为空的限制 + dm.updateNotNullColumns(); // //4、遍历所有数据集的表 // int total = 0; @@ -135,11 +90,7 @@ public class InitDataEaseDataSet2 { // } // } // System.out.println("恭喜,所有数据处理完毕,共生成数据集数量=" + total + "个。"); - }catch (Exception e){ - System.out.println(e.toString()); - } - finally { - session.disconnect(); - } + + session.disconnect(); } }