From 90a6c6393c62d4e9cd895140d82d3e4286b9c15b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Mon, 4 Nov 2024 09:11:31 +0800 Subject: [PATCH] 'commit' --- .../com/dsideal/base/Tools/SelectNoXzqh.java | 129 ++++++++---------- 1 file changed, 59 insertions(+), 70 deletions(-) diff --git a/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java b/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java index 2e655e4f..54eba38a 100644 --- a/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java +++ b/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java @@ -1,9 +1,7 @@ package com.dsideal.base.Tools; import com.dsideal.base.DataEase.Model.DataEaseModel; -import com.dsideal.base.Plugin.YamlProp; import com.dsideal.base.Util.SSHConnector; -import com.jfinal.kit.Prop; import com.jfinal.plugin.activerecord.ActiveRecordPlugin; import com.jfinal.plugin.activerecord.Record; import com.jfinal.plugin.activerecord.dialect.MysqlDialect; @@ -12,93 +10,84 @@ import com.jfinal.plugin.hikaricp.HikariCpPlugin; import java.io.File; import java.io.IOException; import java.util.List; -import com.jcraft.jsch.Channel; -import com.jcraft.jsch.JSch; + import com.jcraft.jsch.Session; public class SelectNoXzqh { 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 { - // Set up port forwarding int localPort = 33306; // Local port to forward to MySQL server session.setPortForwardingL(localPort, mysqlHost, mysqlPort); - - // Now you can connect to MySQL using the local port - String url = "jdbc:mysql://localhost:" + localPort + "/ds_db"; - // Use this URL to connect to your MySQL database using JDBC - // For example, with DriverManager.getConnection(url, username, password); + String jdbcUrl = "jdbc:mysql://localhost:" + localPort + "/ds_db"; + + String user = "root"; + String password = "Password123@mysql"; + String driverClassName = "com.mysql.cj.jdbc.Driver"; + + 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 = SelectNoXzqh.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(); + + //遍历所有以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, "上级行政区划"); + } + } + } + System.out.println("恭喜,所有数据处理完毕。"); session.disconnect(); } catch (Exception e) { e.printStackTrace(); } - - /* - //加载配置文件 - String configFile = "application_huawei.yaml"; - Prop PropKit = new YamlProp(configFile); - HikariCpPlugin masterPlugin = new HikariCpPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"), - PropKit.get("mysql.password").trim(), PropKit.get("mysql.driverClassName")); - masterPlugin.start(); - - HikariCpPlugin dataEasePlugin = new HikariCpPlugin(PropKit.get("mysql.jdbcUrl").replace("ds_db", DataEaseModel.DB_NAME), PropKit.get("mysql.user"), - PropKit.get("mysql.password").trim(), PropKit.get("mysql.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 = SelectNoXzqh.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(); - - //遍历所有的非省级管理员的,以excel_开头的表,找出这些表中是不是存在行政区划的列名 - for (int identity_id : new int[]{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, "上级行政区划"); - } - } - } - System.out.println("恭喜,所有数据处理完毕。");*/ } }