From 5f30a240eb336d9f11e0812b38ca6c6dab3929d7 Mon Sep 17 00:00:00 2001 From: "862857010@qq.com" <862857010@> Date: Mon, 26 Aug 2024 17:35:11 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E7=BB=9F=E8=AE=A1=E6=9C=89?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=A1=A8=E7=9A=84=E4=B8=AA=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../util/TableStructureExportUtil.java | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/util/TableStructureExportUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/util/TableStructureExportUtil.java index 3dd749a..b41b00f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/util/TableStructureExportUtil.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/util/TableStructureExportUtil.java @@ -29,10 +29,10 @@ public class TableStructureExportUtil { // private static final String JDBC_PASSWORD = "Cjy@1303"; // 替换为你的数据库密码 -// // 产监用 -// private static final String JDBC_URL = "jdbc:mysql://192.168.130.16:3306/ly_ddc_xa"; // 替换为你的数据库URL -// private static final String JDBC_USER = "root"; // 替换为你的数据库用户名 -// private static final String JDBC_PASSWORD = "Cjy@1303"; // 替换为你的数据库密码 + // 产监用 + private static final String JDBC_URL = "jdbc:mysql://192.168.130.16:3306/ly_ddc_xa"; // 替换为你的数据库URL + private static final String JDBC_USER = "root"; // 替换为你的数据库用户名 + private static final String JDBC_PASSWORD = "Cjy@1303"; // 替换为你的数据库密码 // 旅游报表 // private static final String JDBC_URL = "jdbc:mysql://192.168.130.16:3306/lvyoubaobiao_xa"; // 替换为你的数据库URL @@ -40,29 +40,44 @@ public class TableStructureExportUtil { // private static final String JDBC_PASSWORD = "Cjy@1303"; // 替换为你的数据库密码 // // 产监表 - private static final String JDBC_URL = "jdbc:mysql://192.168.130.16:3306/hb_lycyjcpt_xa"; // 替换为你的数据库URL - private static final String JDBC_USER = "root"; // 替换为你的数据库用户名 - private static final String JDBC_PASSWORD = "Cjy@1303"; // 替换为你的数据库密码 +// private static final String JDBC_URL = "jdbc:mysql://192.168.130.16:3306/hb_lycyjcpt_xa"; // 替换为你的数据库URL +// private static final String JDBC_USER = "root"; // 替换为你的数据库用户名 +// private static final String JDBC_PASSWORD = "Cjy@1303"; // 替换为你的数据库密码 public static void main(String[] args) { try (Connection conn = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASSWORD)) { // 获取所有表名 TODO 这里修改表明 - String getTablesSql = "SELECT table_name FROM information_schema.tables WHERE table_schema = 'hb_lycyjcpt_xa';"; + String getTablesSql = "SELECT table_name FROM information_schema.tables WHERE table_schema = 'ly_ddc_xa';"; try (Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(getTablesSql)) { List tableNames = new ArrayList<>(); while (rs.next()) { tableNames.add(rs.getString("table_name")); } + int count = 0; // 有数据的表数量 List list = new ArrayList<>(); // 遍历表名并获取每张表的元数据 for (String tableName : tableNames) { + // 查询每个表的行数 + String countSql = "SELECT COUNT(*) AS row_count FROM " + tableName; + try (Statement countStmt = conn.createStatement(); + ResultSet countRs = countStmt.executeQuery(countSql)) { + if (countRs.next()) { + int rowCount = countRs.getInt("row_count"); + if (rowCount > 0) { + count++; // 有数据表数量递增 + + } + } + } + List newList = getTableMetadata(conn, tableName); if (newList != null && !newList.isEmpty()) { list.addAll(newList); } } + System.out.println("有数据的表数量:" + count); // 导出到 Excel exportToExcel(list); } @@ -116,6 +131,7 @@ public class TableStructureExportUtil { // 获取表元数据并打印 private static List getTableMetadata(Connection conn, String tableName) { + String sql = "SELECT " + " c.TABLE_SCHEMA AS `DatabaseName`, " + " c.TABLE_NAME AS `TableName`, " + @@ -142,7 +158,7 @@ public class TableStructureExportUtil { try (PreparedStatement stmt = conn.prepareStatement(sql)) { // 设置查询参数 TODO 这里需要修改 - stmt.setString(1, "hb_lycyjcpt_xa"); // 替换为你的数据库名称 + stmt.setString(1, "ly_ddc_xa"); // 替换为你的数据库名称 stmt.setString(2, tableName); try (ResultSet rs = stmt.executeQuery()) { @@ -166,10 +182,12 @@ public class TableStructureExportUtil { if (rowCount > 0) { tableInfo.setDataQuantity(String.valueOf(rowCount)); tableInfos.add(tableInfo); + } } } } + return tableInfos; } } catch (SQLException e) {