订单模块之我的订单完成 | 学习笔记

简介: 快速学习订单模块之我的订单完成

开发者学堂课程【Java Web项目实战2:图书商城订单模块之我的订单完成】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/35/detail/787


订单模块之我的订单完成


目录:

一、流程

二、开发路径

 

一、流程

(一)top.jsp 我的订单

(二)OrderServlet#myOrders()

1.从 session 中获取 User ,再获取 uid

2.使用 uid 来调用 service 方法得到 List<Order> ,保存到 request 中

3.转发到 /jsps/order/list.jsp

或rquest域:List<Orders>

 /jsps/order/list.jsp

循环遍历多个订单两层循环!

(三)OrderService 略

(四)OrderDao#findByUid(String uid)

1.使用 uid 为条件查询所有的订单

2.循环遍历每个订单,然后再为每个订单加载

己的所有条目

image.png


二、开发路径

package cn.itcast.bookstore.order.web.servlet;

import java.io.IOException;

public class OrderServlet extends BaseServlet

private OrderService orderService = new OrderService( );

我的订单

@param request

@param response

@return

@throws ServletException

@throws IOException

 

Public String myorders(HttpServletReguest reguest, HttpServletResponse response)

throws ServletException.IOException

1.从session得到当前用户,再获取其uid

2.使用uid调用orderservice#mvorders(uid)得到该用户的所有订单List<order>

3.把订单列表保存到xeauest域中,转发到/1spa/oxder/liat.isp

User user =(User)request.getSession().getAttribute("session_user"); List<order> ordertiat orderService.myOrders(user.getuid()); request.setAttribute("orderList", orderList);

return "f:/jsps/order/list.jsp";

按uid查询订单

@param uid

@return

blic List<Order> findByuid(String uid) (

1.通过uid查询出当前用户的所有List<order>

2. 循环遍历每个order,为其加载他的所有OrderItem

try(

1.得到当前用户的所有订单

 

String sql ="select  from orders where uid=?";

List<Order>orderList=qr.query(sql,new BeanListHandler<order>(Order.class), uid

2. 循环遍历每个order,为其加载它自己所有的订单条目

for(order or)

catch(OtExcention

3. 返回订单列表

return orderList;

catch(SQLException e)

throw new RuntimeException(e);

加载指定的订单所有的订单条目

@param order

@throws SQLException

 

private void loadorderItems(Order order) throws SQLException (

查询两张表:orderitem、book

string sql = "select * from orderitem i, book b where i.bid=b.bid and oid=?";

因为一行结果集对应的不再是一个javabean,所以不能再使用BeanListHandler,而是MapListHandi

List<Map<String,Object>> mapList= qr.query(sql, new MapListHandler(), order.geto/+

mapList是多个map,每个map对应一行结果集

一行:

(iid=c7AD5492F27D492189105FB50E55BB6,count=2,subtotal=60.0, oid=1AE8A703540

把mapLiat中每个Map转换成两个对象,并建立关系

@param mapList

@return

privateList<OrderItem>toorderItemList(List<Map<String, Object>> mapList

List<OrderItem>orderItemList = new ArrayList<OrderItem>();

for(Map<String,Object> map : mapList)

OrderItem item toorderItem(map); I

orderItemList.add(item);

 

returnorderItemList;

相关文章
|
前端开发
JavaWeb11(查看订单详情&优化结算)
JavaWeb11(查看订单详情&优化结算)
|
1月前
|
存储 供应链 监控
反向海淘中下单、支付方式、订单、库存管理、物流与配送
反向海淘指海外消费者通过跨境电商平台购买中国商品。其流程包括:1) 海外消费者在支持多语言和货币的平台上选品、加入购物车并填写准确收货信息下单;2) 支付方式涵盖国际信用卡、第三方支付平台(如PayPal)、本地支付及电子钱包;3) 订单管理涉及订单确认、拣货包装、发货跟踪及售后处理,并通过数据分析优化库存与销售;4) 库存管理强调实时监控、多渠道同步、预警补货及滞销处理;5) 物流方案提供国际快递、邮政包裹、专线物流和海外仓等多种选择,确保全程跟踪和清关服务。
JavaWeb10(实现结算&查看订单&订单详情)(一)
JavaWeb10(实现结算&查看订单&订单详情)
121 0
|
前端开发
JavaWeb10(实现结算&查看订单&订单详情)(二)
JavaWeb10(实现结算&查看订单&订单详情)
|
消息中间件 算法 Java
创建支付订单实现|学习笔记
快速学习创建支付订单实现
144 0
创建支付订单实现|学习笔记
|
消息中间件 数据库 RocketMQ
创建支付订单流程|学习笔记
快速学习创建支付订单流程
400 0
创建支付订单流程|学习笔记
|
数据库 开发者 微服务
查询订单支付状态接口(2) | 学习笔记
快速学习查询订单支付状态接口(2)
查询订单支付状态接口(2) | 学习笔记
|
XML JSON Java
课程支付功能(生成订单接口1) | 学习笔记
简介:快速学习课程支付功能(生成订单接口1)
199 0
课程支付功能(生成订单接口1) | 学习笔记
|
开发者 微服务
课程支付功能(生成订单接口2) | 学习笔记
简介:快速学习课程支付功能(生成订单接口2)
课程支付功能(生成订单接口2) | 学习笔记