package dev.dao; import dev.database.DatabaseConnection; import dev.model.Order; import java.sql.*; import java.util.ArrayList; import java.util.List; public class OrderDao { public int save(Order order) { String sql = "INSERT INTO orders(user_id,total_price) VALUES(?,?)"; try(Connection con = DatabaseConnection.getConnection(); PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)){ ps.setInt(1, order.getUserId()); ps.setDouble(2, order.getTotalPrice()); ps.executeUpdate(); ResultSet rs = ps.getGeneratedKeys(); if(rs.next()){ return rs.getInt(1); } }catch(SQLException e){ e.printStackTrace(); } return -1; } public List findByUserId(int userId){ List orders = new ArrayList<>(); String sql = "SELECT * FROM orders WHERE user_id=?"; try(Connection con = DatabaseConnection.getConnection(); PreparedStatement ps = con.prepareStatement(sql)){ ps.setInt(1,userId); ResultSet rs = ps.executeQuery(); while(rs.next()){ Order order = new Order(); order.setId(rs.getInt("id")); order.setUserId(rs.getInt("user_id")); order.setTotalPrice( rs.getDouble("total_price") ); Timestamp timestamp = rs.getTimestamp("created_at"); if(timestamp != null){ order.setCreatedAt( timestamp.toLocalDateTime() ); } orders.add(order); } }catch(SQLException e){ e.printStackTrace(); } return orders; } }