implement OrderDetailDao.java

This commit is contained in:
2026-06-27 01:28:22 +03:30
parent 7ed7206372
commit 8f1cf660db
+53 -2
View File
@@ -1,7 +1,13 @@
package dev.dao; package dev.dao;
import dev.database.DatabaseConnection;
import dev.model.OrderDetail; import dev.model.OrderDetail;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
public class OrderDetailDao { public class OrderDetailDao {
@@ -11,14 +17,59 @@ public class OrderDetailDao {
// TODO: // TODO:
// Insert order detail // Insert order detail
String sql = "INSERT INTO order_detail (order_id, menu_item_id, quantity, price) VALUES(?, ?, ?, ?)";
try(Connection connection = DatabaseConnection.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setInt(1, detail.getOrderId());
preparedStatement.setInt(2, detail.getMenuItemId());
preparedStatement.setInt(3, detail.getQuantity());
preparedStatement.setDouble(4, detail.getPrice());
preparedStatement.executeQuery();
} catch (SQLException e) {
throw new RuntimeException(e);
}
} }
public List<OrderDetail> findByOrderId(int orderId) { public List<OrderDetail> findByOrderId(int orderId) {
// TODO:
// Retrieve order details // Retrieve order details
return null; String sql = "SELECT * FROM order_detail WHERE order_id=?";
List<OrderDetail> orderDetails = new ArrayList<>();
try(Connection connection = DatabaseConnection.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setInt(1, orderId);
ResultSet resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
OrderDetail orderDetail = new OrderDetail();
orderDetail.setId(resultSet.getInt("id"));
orderDetail.setOrderId(resultSet.getInt("order_id"));
orderDetail.setMenuItemId(resultSet.getInt("menu_item_id"));
orderDetail.setQuantity(resultSet.getInt("quantity"));
orderDetail.setPrice(resultSet.getDouble("price"));
orderDetails.add(orderDetail);
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return orderDetails;
} }
} }