以下是jdbc相关代码的示例:

  1. 创建Record类(model):
public class Record {
    private int id;
    private Date date;
    private double amount;
    private int windowId;
    private String windowName;
    private String cateringType;

    // 构造方法、getter和setter省略
}
  1. 创建RecordDao类(dao):
import java.sql.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class RecordDao {
    private Connection getConnection() throws SQLException {
        String url = "jdbc:mysql://localhost:3306/db_name";
        String username = "username";
        String password = "password";
        return DriverManager.getConnection(url, username, password);
    }

    public List<Record> getRecordsByConditions(Date date, double minAmount, double maxAmount, int windowId) {
        List<Record> records = new ArrayList<>();

        try (Connection connection = getConnection();
             PreparedStatement statement = connection.prepareStatement("SELECT * FROM record WHERE date = ? AND amount BETWEEN ? AND ? AND window_id = ?")) {

            statement.setDate(1, new java.sql.Date(date.getTime()));
            statement.setDouble(2, minAmount);
            statement.setDouble(3, maxAmount);
            statement.setInt(4, windowId);

            ResultSet resultSet = statement.executeQuery();

            while (resultSet.next()) {
                Record record = new Record();
                record.setId(resultSet.getInt("id"));
                record.setDate(resultSet.getDate("date"));
                record.setAmount(resultSet.getDouble("amount"));
                record.setWindowId(resultSet.getInt("window_id"));
                record.setWindowName(resultSet.getString("window_name"));
                record.setCateringType(resultSet.getString("catering_type"));
                records.add(record);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return records;
    }
}
  1. 创建RecordService类(service):
import java.util.Date;
import java.util.List;

public class RecordService {
    private RecordDao recordDao;

    public RecordService() {
        this.recordDao = new RecordDao();
    }

    public List<Record> getRecordsByConditions(Date date, double minAmount, double maxAmount, int windowId) {
        return recordDao.getRecordsByConditions(date, minAmount, maxAmount, windowId);
    }
}
  1. 创建Main类(测试类):
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        RecordService recordService = new RecordService();

        try {
            Date date = dateFormat.parse("2022-01-01");
            double minAmount = 100.0;
            double maxAmount = 500.0;
            int windowId = 1;

            List<Record> records = recordService.getRecordsByConditions(date, minAmount, maxAmount, windowId);

            for (Record record : records) {
                System.out.println("记录编号:" + record.getId());
                System.out.println("入账时间:" + record.getDate());
                System.out.println("入账金额:" + record.getAmount());
                System.out.println("窗口编号:" + record.getWindowId());
                System.out.println("窗口名:" + record.getWindowName());
                System.out.println("餐饮类型:" + record.getCateringType());
                System.out.println();
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

注意事项:

  1. 需要将"db_name"替换为实际的数据库名,"username"和"password"替换为连接数据库所需的用户名和密码。
  2. 需要导入相应的JDBC驱动包,如MySQL Connector/J
5、【25分】编写jdbc相关代码model dao service完成关于记录的多条件查询:要求:根据 日期年月日、金额范围小值-大值、窗口编号查询入账记录;编写main测试类输入查询条件打印查询结果打印内容包括:记录编号 入账时间 入账金额 窗口编号 窗口名 餐饮类型是名字不是数字

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

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