From 7dca429905c659edec58e7a8c11bff83c27d9b82 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Wed, 9 Apr 2025 13:16:26 +0800 Subject: [PATCH] 'commit' --- .../dsideal/base/Tools/Excel/School2019.java | 77 +++++++++++-------- 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/dsideal/base/Tools/Excel/School2019.java b/src/main/java/com/dsideal/base/Tools/Excel/School2019.java index 4f91b2d9..de1f4496 100644 --- a/src/main/java/com/dsideal/base/Tools/Excel/School2019.java +++ b/src/main/java/com/dsideal/base/Tools/Excel/School2019.java @@ -6,6 +6,9 @@ import cn.idev.excel.*; import com.dsideal.base.Tools.Excel.Bean.BeanSchool2019_CZ; import com.dsideal.base.Tools.Excel.Bean.BeanSchool2019_GZ; import com.dsideal.base.Tools.Excel.Bean.BeanSchool2019_XX; +import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil; +import com.jfinal.plugin.activerecord.Db; +import com.jfinal.plugin.activerecord.Record; import org.slf4j.LoggerFactory; import java.util.HashMap; @@ -51,10 +54,48 @@ public class School2019 { // 处理高中数据 allResults.put("高中", processSheet(filePath, "基教高中", 7, BeanSchool2019_GZ.class)); - // 最后统一输出所有结果 - printAllResults(allResults); + // 保存统计结果到数据库 + LocalMysqlConnectUtil.Init(); + saveToDatabase(allResults, 2019); } + /** + * 将统计结果保存到数据库 + * + * @param allResults 所有处理结果 + * @param year 年份 + */ + private static void saveToDatabase(Map>> allResults, int year) { + // 先删除该年份的旧数据 + Db.delete("DELETE FROM t_yn_school_count WHERE year = ?", year); + + // 遍历所有结果并保存 + for (Map.Entry>> schoolTypeEntry : allResults.entrySet()) { + String schoolType = schoolTypeEntry.getKey(); + + for (Map.Entry> cityEntry : schoolTypeEntry.getValue().entrySet()) { + String city = cityEntry.getKey(); + + for (Map.Entry districtEntry : cityEntry.getValue().entrySet()) { + String district = districtEntry.getKey(); + int count = districtEntry.getValue(); + + // 创建记录 + Record record = new Record(); + record.set("school_type", schoolType) + .set("city", city) + .set("district", district) + .set("school_count", count) + .set("year", year); + + // 保存到数据库 + Db.save("t_yn_school_count", record); + } + } + } + + System.out.println("数据已成功保存到数据库"); + } /** * 通用方法:处理指定 Sheet 表的数据 * @@ -96,36 +137,4 @@ public class School2019 { return cityDistrictMap; } - - /** - * 统一输出所有处理结果 - * - * @param allResults 所有处理结果的Map - */ - private static void printAllResults(Map>> allResults) { - System.out.println("=== 2019年基础教育学校统计结果 ==="); - - // 按学校类型输出 - for (Map.Entry>> schoolTypeEntry : allResults.entrySet()) { - String schoolType = schoolTypeEntry.getKey(); - System.out.println("\n【" + schoolType + "】"); - - int totalSchools = 0; // 统计该类型学校总数 - - for (Map.Entry> cityEntry : schoolTypeEntry.getValue().entrySet()) { - String city = cityEntry.getKey(); - System.out.println(" " + city + ":"); - - for (Map.Entry districtEntry : cityEntry.getValue().entrySet()) { - int count = districtEntry.getValue(); - totalSchools += count; - System.out.printf(" %s:%d所%n", - districtEntry.getKey(), - count); - } - } - - System.out.printf(" %s总数:%d所%n", schoolType, totalSchools); - } - } } \ No newline at end of file