main
黄海 9 months ago
parent 9d755af66f
commit 4a0c1a60ff

@ -171,6 +171,8 @@ public class DataEaseModel {
record.set("dataease_id", dataease_id);
Db.save("t_dp_dataset", "id", record);
System.out.println("添加数据集成功,parent_name=" + parent_name + ",table_name=" + table_name + ",dataset_name=" + dataset_name);
}else{
System.out.println("数据集已存在,跳过添加");
}
}

@ -13,7 +13,7 @@ import java.util.List;
import com.jcraft.jsch.Session;
public class SelectNoXzqh {
public class AddXzqh {
public static void main(String[] args) throws IOException {
//远程主机的SSH登录信息
@ -48,7 +48,7 @@ public class SelectNoXzqh {
//遍历sql目录下所有的sql文件
File sqlDir;
String basePath = SelectNoXzqh.class.getResource("/").getPath();
String basePath = AddXzqh.class.getResource("/").getPath();
sqlDir = new File(basePath + "/Sql");
File[] sqlFiles = sqlDir.listFiles();
for (File sqlFile : sqlFiles != null ? sqlFiles : new File[0]) {

@ -1,156 +1,27 @@
package com.dsideal.base.Tools;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.file.PathUtil;
import com.dsideal.base.DataEase.Model.DataEaseModel;
import com.dsideal.base.Plugin.YamlProp;
import com.dsideal.base.Util.ExcelCommonUtil;
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.kit.FileKit;
import com.jfinal.kit.PathKit;
import com.jfinal.kit.Prop;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.hikaricp.HikariCpPlugin;
import com.jfinal.plugin.activerecord.Record;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class InitDataEaseDataSet {
public static DataEaseModel dm = new DataEaseModel();
public static void main(String[] args) throws IOException, JSchException {
//通过ssh链接到Mysql数据库
Session session = SshConnectUtil.Init();
public static void main(String[] args) throws IOException {
//1、添加到数据集表中
dm.collectDataSet();
//2、加上主键
dm.addPrimaryKey();
//3、将所有非空列去掉不允许为空的限制
dm.updateNotNullColumns();
//远程主机的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";
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 = InitDataEaseDataSet.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();
// //4、遍历所有数据集的表
// int total = 0;
// for (int i = 1; i <= 3; i++) {//1省管理员2市州管理员3县区管理员
// switch (i) {
// case 1:
// System.out.println("正在处理省管理员需要看到的数据集~");
// break;
// case 2:
// System.out.println("正在处理市州管理员需要看到的数据集~");
// break;
// case 3:
// System.out.println("正在处理县区管理员需要看到的数据集~");
// break;
// }
//
// //Excel的保存目录
// String exportPath = "D:/360Downloads/Excel";
// File directory = new File(exportPath);
// // 检查目录是否存在
// if (!directory.exists()) {
// directory.mkdirs();
// }
//
// List<Record> list = dm.getDataSetByIdentityId(i);
// System.out.println("数据集个数=" + list.size());
// total += list.size();
// for (Record record : list) {
// String tableName = record.getStr("table_name");
// String dataSetName = record.getStr("dataset_name");
// System.out.println("正在处理数据集:" + dataSetName);
//
// //省的导出全部,市州管理员只导出市州数据,县区管理员只导出县区数据
// List<Record> tableData = new ArrayList<>();
// String excelFileName = "";
// String privinceName = "云南省";
// Record privinceRecord = dm.getAreaByName(privinceName);
// String privinceId = privinceRecord.getStr("id");
// if (i == 1) {
// //对此表中的数据进行直接导出EXCEL
// String sql = "select * from `" + tableName + "`";
// tableData = Db.use(DataEaseModel.DB_NAME).find(sql);
// excelFileName = "【" + privinceName + "】" + dataSetName + ".xlsx";
// ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true);
// } else if (i == 2) {
// //枚举所有的市州数据然后进行导出EXCEL
// List<Record> cityList = dm.getAreaList(privinceId);
// String cityName = "";
// String cityId = "";
// for (Record rCity : cityList) {
// cityName = rCity.getStr("area_name");
// cityId = rCity.getStr("id");
// if (i == 3) {
//
// //枚举所有的县区数据然后进行导出EXCEL
// ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true);
// }
// }
// String sql = "select * from `" + tableName + "` where `行政区划`=?";
// System.out.println(tableName);
// tableData = Db.use(DataEaseModel.DB_NAME).find(sql, cityName);
// excelFileName = "【" + cityName + "】" + dataSetName + ".xlsx";
// ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true);
// }
// }
// }
// System.out.println("恭喜,所有数据处理完毕,共生成数据集数量=" + total + "个。");
}catch (Exception e){
System.out.println(e.toString());
}
finally {
session.disconnect();
}
//关闭数据库
session.disconnect();
}
}

@ -0,0 +1,145 @@
package com.dsideal.base.Tools;
import com.dsideal.base.DataEase.Model.DataEaseModel;
import com.dsideal.base.Util.SSHConnector;
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 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";
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 = 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();
// //4、遍历所有数据集的表
// int total = 0;
// for (int i = 1; i <= 3; i++) {//1省管理员2市州管理员3县区管理员
// switch (i) {
// case 1:
// System.out.println("正在处理省管理员需要看到的数据集~");
// break;
// case 2:
// System.out.println("正在处理市州管理员需要看到的数据集~");
// break;
// case 3:
// System.out.println("正在处理县区管理员需要看到的数据集~");
// break;
// }
//
// //Excel的保存目录
// String exportPath = "D:/360Downloads/Excel";
// File directory = new File(exportPath);
// // 检查目录是否存在
// if (!directory.exists()) {
// directory.mkdirs();
// }
//
// List<Record> list = dm.getDataSetByIdentityId(i);
// System.out.println("数据集个数=" + list.size());
// total += list.size();
// for (Record record : list) {
// String tableName = record.getStr("table_name");
// String dataSetName = record.getStr("dataset_name");
// System.out.println("正在处理数据集:" + dataSetName);
//
// //省的导出全部,市州管理员只导出市州数据,县区管理员只导出县区数据
// List<Record> tableData = new ArrayList<>();
// String excelFileName = "";
// String privinceName = "云南省";
// Record privinceRecord = dm.getAreaByName(privinceName);
// String privinceId = privinceRecord.getStr("id");
// if (i == 1) {
// //对此表中的数据进行直接导出EXCEL
// String sql = "select * from `" + tableName + "`";
// tableData = Db.use(DataEaseModel.DB_NAME).find(sql);
// excelFileName = "【" + privinceName + "】" + dataSetName + ".xlsx";
// ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true);
// } else if (i == 2) {
// //枚举所有的市州数据然后进行导出EXCEL
// List<Record> cityList = dm.getAreaList(privinceId);
// String cityName = "";
// String cityId = "";
// for (Record rCity : cityList) {
// cityName = rCity.getStr("area_name");
// cityId = rCity.getStr("id");
// if (i == 3) {
//
// //枚举所有的县区数据然后进行导出EXCEL
// ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true);
// }
// }
// String sql = "select * from `" + tableName + "` where `行政区划`=?";
// System.out.println(tableName);
// tableData = Db.use(DataEaseModel.DB_NAME).find(sql, cityName);
// excelFileName = "【" + cityName + "】" + dataSetName + ".xlsx";
// ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true);
// }
// }
// }
// System.out.println("恭喜,所有数据处理完毕,共生成数据集数量=" + total + "个。");
}catch (Exception e){
System.out.println(e.toString());
}
finally {
session.disconnect();
}
}
}

@ -1,28 +0,0 @@
package com.dsideal.base.Tools;
import com.jfinal.kit.Kv;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.druid.DruidPlugin;
import java.util.List;
public class SyncResource {
public static void main(String[] args) {
//1、配置数据库
PropKit.use("application_dev.properties");
DruidPlugin druid = new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"),
PropKit.get("password").trim(), PropKit.get("driverClassName"));
druid.start();
// 配置ActiveRecord插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(druid);
arp.start();
//Kv kv = syncResource();
//System.out.println("共同步了" + kv.getInt("count") + "条数据,共" + kv.getInt("total") + "条数据");
}
}

@ -0,0 +1,65 @@
package com.dsideal.base.Tools.Util;
import com.dsideal.base.DataEase.Model.DataEaseModel;
import com.dsideal.base.Tools.InitDataEaseDataSet;
import com.dsideal.base.Util.SSHConnector;
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;
public class SshConnectUtil {
public static Session Init() throws 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";
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 = InitDataEaseDataSet.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();
} catch (Exception e) {
System.out.println(e);
}
return session;
}
}
Loading…
Cancel
Save