From 5f7d1dfcf344cbbb55c472e6d9f0d125cd5b8512 Mon Sep 17 00:00:00 2001 From: Xi Xu Date: Wed, 29 May 2024 21:29:38 +0800 Subject: [PATCH] Update --- bin/SupermarketProductImport.class | Bin 0 -> 5287 bytes src/SupermarketProductImport.java | 126 +++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 bin/SupermarketProductImport.class create mode 100644 src/SupermarketProductImport.java diff --git a/bin/SupermarketProductImport.class b/bin/SupermarketProductImport.class new file mode 100644 index 0000000000000000000000000000000000000000..78c8291587de3db056114e95b742f6b0ee24d8cf GIT binary patch literal 5287 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 G{{I1t;*n|q literal 0 HcmV?d00001 diff --git a/src/SupermarketProductImport.java b/src/SupermarketProductImport.java new file mode 100644 index 0000000..5418e51 --- /dev/null +++ b/src/SupermarketProductImport.java @@ -0,0 +1,126 @@ +import java.io.*; +import java.sql.*; +import java.util.Scanner; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +public class SupermarketProductImport { + private static final String DB_URL = "jdbc:mysql://localhost:3306/xiaoshou?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT"; + private static final String USER = "root"; + private static final String PASS = "yourpassword"; + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + + while (true) { + System.out.println("====****超市商品管理维护===="); + System.out.println("1、从excel中导入数据"); + System.out.println("2、从文本文件导入数据"); + System.out.println("3、返回主菜单"); + System.out.print("请选择(1-3):"); + + int choice = scanner.nextInt(); + scanner.nextLine(); // Consume newline + + switch (choice) { + case 1: + importFromExcel(); + break; + case 2: + importFromTxt(); + break; + case 3: + System.out.println("返回主菜单"); + return; + default: + System.out.println("无效选择,请重新输入"); + } + } + } + + private static void importFromExcel() { + String filePath = "商品信息.xls"; + int importedCount = 0; + + try (Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); + Workbook workbook = new XSSFWorkbook(new FileInputStream(filePath))) { + + Sheet sheet = workbook.getSheetAt(0); + for (Row row : sheet) { + if (row.getRowNum() == 0) + continue; // Skip header row + + String tiaoma = row.getCell(0).getStringCellValue(); + String mingcheng = row.getCell(1).getStringCellValue(); + double danjia = row.getCell(2).getNumericCellValue(); + String gongyingshang = row.getCell(3).getStringCellValue(); + + if (!isBarcodeExists(conn, tiaoma)) { + insertProduct(conn, tiaoma, mingcheng, danjia, gongyingshang); + importedCount++; + } + } + + System.out.println("成功从excel文件导入" + importedCount + "条商品数据"); + } catch (SQLException | IOException e) { + e.printStackTrace(); + } + } + + private static void importFromTxt() { + String filePath = "商品信息.txt"; + int importedCount = 0; + + try (Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); + BufferedReader reader = new BufferedReader(new FileReader(filePath))) { + + String line; + while ((line = reader.readLine()) != null) { + if (line.trim().isEmpty()) + continue; // Skip empty lines + String[] parts = line.split("\t"); + + if (parts.length < 4) + continue; // Skip malformed lines + + String tiaoma = parts[0].trim(); + String mingcheng = parts[1].trim(); + double danjia = Double.parseDouble(parts[2].trim()); + String gongyingshang = parts[3].trim(); + + if (!isBarcodeExists(conn, tiaoma)) { + insertProduct(conn, tiaoma, mingcheng, danjia, gongyingshang); + importedCount++; + } + } + + System.out.println("成功从文本文件导入" + importedCount + "条商品数据"); + } catch (SQLException | IOException e) { + e.printStackTrace(); + } + } + + private static boolean isBarcodeExists(Connection conn, String tiaoma) throws SQLException { + String query = "SELECT COUNT(*) FROM t_shangping WHERE tiaoma = ?"; + try (PreparedStatement pstmt = conn.prepareStatement(query)) { + pstmt.setString(1, tiaoma); + ResultSet rs = pstmt.executeQuery(); + if (rs.next()) { + return rs.getInt(1) > 0; + } + } + return false; + } + + private static void insertProduct(Connection conn, String tiaoma, String mingcheng, double danjia, + String gongyingshang) throws SQLException { + String query = "INSERT INTO t_shangping (tiaoma, mingcheng, danjia, gongyingshang) VALUES (?, ?, ?, ?)"; + try (PreparedStatement pstmt = conn.prepareStatement(query)) { + pstmt.setString(1, tiaoma); + pstmt.setString(2, mingcheng); + pstmt.setDouble(3, danjia); + pstmt.setString(4, gongyingshang); + pstmt.executeUpdate(); + } + } +}