@Override
    public void saveOrder(List<FoodCombo> orderList) throws RuntimeException {
        try {
            List colDescriptors = new ArrayList();
            List colValues = new ArrayList();
            db.openConnection(FoodOrderDAO.DRIVER, FoodOrderDAO.URL,
                    FoodOrderDAO.USER, FoodOrderDAO.PWD);

            for (FoodCombo item : orderList) {
                colDescriptors.add("name");
                colValues.add(item.getName());

                Date date = new Date();
                SimpleDateFormat sdf = new SimpleDateFormat("M/d/yyyy");
                String dateStr = sdf.format(date);
                colValues.add(dateStr + "-" + ++orderCount);
                colDescriptors.add("order_id");

                // Usuallly you want the connection to be closed when the db
                // method finishes (second parameter = true). The reason is that
                // if you leave it open (second parameter = false) then you risk
                // the database connection might time out and close on its own.
                db.insertRecord("order_history", colDescriptors, colValues, false);
                colDescriptors.clear();
                colValues.clear();
            }
            db.closeConnection();

        } catch (IllegalArgumentException ex) {
            throw new RuntimeException(ex.getMessage(), ex);
        } catch (ClassNotFoundException ex) {
            throw new RuntimeException(ex.getMessage(), ex);
        } catch (SQLException ex) {
            throw new RuntimeException(ex.getMessage(), ex);
        } catch (Exception ex) {
            throw new RuntimeException(ex.getMessage(), ex);
        }
    }