diff --git a/src/main/java/dev/dao/MenuItemDao.java b/src/main/java/dev/dao/MenuItemDao.java index 3bbebe9..1bd48b4 100644 --- a/src/main/java/dev/dao/MenuItemDao.java +++ b/src/main/java/dev/dao/MenuItemDao.java @@ -1,23 +1,82 @@ package dev.dao; +import dev.database.DatabaseConnection; import dev.model.MenuItem; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; import java.util.List; public class MenuItemDao { public List findAll() { - // TODO: - // Retrieve all menu items + String sql = "SELECT id, name, description, price, category FROM menu_items"; - return null; + List menuItems = new ArrayList<>(); + + try ( + Connection connection = DatabaseConnection.getConnection(); + PreparedStatement statement = connection.prepareStatement(sql); + ResultSet resultSet = statement.executeQuery() + ) { + + while (resultSet.next()) { + + MenuItem menuItem = new MenuItem(); + + menuItem.setId(resultSet.getInt("id")); + menuItem.setName(resultSet.getString("name")); + menuItem.setDescription(resultSet.getString("description")); + menuItem.setPrice(resultSet.getDouble("price")); + menuItem.setCategory(resultSet.getString("category")); + + menuItems.add(menuItem); + } + + } catch (SQLException e) { + + System.out.println("Error loading menu items: " + e.getMessage()); + + } + + return menuItems; } public MenuItem findById(int id) { - // TODO: - // Find menu item by id + String sql = "SELECT id, name, description, price, category FROM menu_items WHERE id = ?"; + + try ( + Connection connection = DatabaseConnection.getConnection(); + PreparedStatement statement = connection.prepareStatement(sql) + ) { + + statement.setInt(1, id); + + ResultSet resultSet = statement.executeQuery(); + + if (resultSet.next()) { + + MenuItem menuItem = new MenuItem(); + + menuItem.setId(resultSet.getInt("id")); + menuItem.setName(resultSet.getString("name")); + menuItem.setDescription(resultSet.getString("description")); + menuItem.setPrice(resultSet.getDouble("price")); + menuItem.setCategory(resultSet.getString("category")); + + return menuItem; + } + + } catch (SQLException e) { + + System.out.println("Error finding menu item: " + e.getMessage()); + + } return null; } diff --git a/src/main/java/dev/model/MenuItem.java b/src/main/java/dev/model/MenuItem.java index 265ecc1..7a8a6f0 100644 --- a/src/main/java/dev/model/MenuItem.java +++ b/src/main/java/dev/model/MenuItem.java @@ -3,13 +3,48 @@ package dev.model; public class MenuItem { private int id; - private String name; - private String description; - private double price; - private String category; + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } } \ No newline at end of file