以下是jdbc相关代码的示例:\n\n1. 创建Record类(model):\n\njava\npublic class Record {\n private int id;\n private Date date;\n private double amount;\n private int windowId;\n private String windowName;\n private String cateringType;\n\n // 构造方法、getter和setter省略\n}\n\n\n2. 创建RecordDao类(dao):\n\njava\nimport java.sql.*;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class RecordDao {\n private Connection getConnection() throws SQLException {\n String url = \"jdbc:mysql://localhost:3306/db_name\";\n String username = \"username\";\n String password = \"password\";\n return DriverManager.getConnection(url, username, password);\n }\n\n public List<Record> getRecordsByConditions(Date date, double minAmount, double maxAmount, int windowId) {\n List<Record> records = new ArrayList<>();\n\n try (Connection connection = getConnection();\n PreparedStatement statement = connection.prepareStatement(\"SELECT * FROM record WHERE date = ? AND amount BETWEEN ? AND ? AND window_id = ?\")) {\n\n statement.setDate(1, new java.sql.Date(date.getTime()));\n statement.setDouble(2, minAmount);\n statement.setDouble(3, maxAmount);\n statement.setInt(4, windowId);\n\n ResultSet resultSet = statement.executeQuery();\n\n while (resultSet.next()) {\n Record record = new Record();\n record.setId(resultSet.getInt(\"id\"));\n record.setDate(resultSet.getDate(\"date\"));\n record.setAmount(resultSet.getDouble(\"amount\"));\n record.setWindowId(resultSet.getInt(\"window_id\"));\n record.setWindowName(resultSet.getString(\"window_name\"));\n record.setCateringType(resultSet.getString(\"catering_type\"));\n records.add(record);\n }\n } catch (SQLException e) {\n e.printStackTrace();\n }\n\n return records;\n }\n}\n\n\n3. 创建RecordService类(service):\n\njava\nimport java.util.Date;\nimport java.util.List;\n\npublic class RecordService {\n private RecordDao recordDao;\n\n public RecordService() {\n this.recordDao = new RecordDao();\n }\n\n public List<Record> getRecordsByConditions(Date date, double minAmount, double maxAmount, int windowId) {\n return recordDao.getRecordsByConditions(date, minAmount, maxAmount, windowId);\n }\n}\n\n\n4. 创建Main类(测试类):\n\njava\nimport java.text.ParseException;\nimport java.text.SimpleDateFormat;\nimport java.util.Date;\nimport java.util.List;\n\npublic class Main {\n public static void main(String[] args) {\n SimpleDateFormat dateFormat = new SimpleDateFormat(\"yyyy-MM-dd\");\n RecordService recordService = new RecordService();\n\n try {\n Date date = dateFormat.parse(\"2022-01-01\");\n double minAmount = 100.0;\n double maxAmount = 500.0;\n int windowId = 1;\n\n List<Record> records = recordService.getRecordsByConditions(date, minAmount, maxAmount, windowId);\n\n for (Record record : records) {\n System.out.println(\"记录编号:\" + record.getId());\n System.out.println(\"入账时间:\" + record.getDate());\n System.out.println(\"入账金额:\" + record.getAmount());\n System.out.println(\"窗口编号:\" + record.getWindowId());\n System.out.println(\"窗口名:\" + record.getWindowName());\n System.out.println(\"餐饮类型:\" + record.getCateringType());\n System.out.println();\n }\n } catch (ParseException e) {\n e.printStackTrace();\n }\n }\n}\n\n\n注意事项:\n1. 需要将"db_name"替换为实际的数据库名,"username"和"password"替换为连接数据库所需的用户名和密码。\n2. 需要导入相应的JDBC驱动包,如MySQL Connector/J。


原文地址: https://www.cveoy.top/t/topic/p6I5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录