implement OrderDetailDao.java
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user