博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
项目阶段六:查看我的订单模块
阅读量:3967 次
发布时间:2019-05-24

本文共 5583 字,大约阅读时间需要 18 分钟。

3.1、编写查看我的订单模块的 Dao 程序和测试

OrderDao 接口 :

/**  * 根据用户编号查询订单信息  * @param id  * @return  */List
queryOrdersByUserId(Integer id);

OrderDao 实现 :

@Overridepublic List
queryOrdersByUserId(Integer id) {
String sql = "select order_id orderId,create_time createTime,price,status,user_id userId from t_order where user_id = ?"; return queryForList(Order.class,sql,id);}

OrderDaoTest:

public void queryOrdersByUserId() {
List
orders = orderDao.queryOrdersByUserId(1); for (Order order : orders) {
System.out.println(order); }}

3.2、编写查看我的订单模块的 Service 和测试

OrderService 接口:

/**  * 用户查看自己的订单  * @param id  */List
showMyOrders(Integer id);

OrderService 实现类 :

@Overridepublic List
showMyOrders(Integer id) {
List
orders = orderDao.queryOrdersByUserId(id); return orders;}

测试 :

@Testpublic void showMyOrders() {
List
orders = orderService.showMyOrders(1); for (Order order : orders) {
System.out.println(order); }}

3.3、编写查看我的订单的Servlet程序和jsp页面

ClientOrderServlet:

/**     * 用户查看自己的订单     * @param req     * @param resp     * @throws ServletException     * @throws IOException     */    protected void showMyOrders(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获得登录用户的信息 User user = (User) req.getSession().getAttribute("user"); if(user == null){
req.getRequestDispatcher("/pages/user/login.jsp").forward(req,resp); return; } //取得用户ID Integer id = user.getId();// 通过ID获得该用户的订单 List
orders = orderService.showMyOrders(id);// 将该用户的订单信息保存到Session域 req.getSession().setAttribute("myOrder",orders); //请求转发到订单页面 req.getRequestDispatcher("/pages/order/order.jsp").forward(req,resp); }

login_success_menu.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
欢迎${sessionScope.user.username}光临LOEY书城
我的订单
注销  
返回
order.jsp:
你还没任何订单,赶紧去
首页加购商品吧!!!
日期 金额 状态 详情
${order.createTime} ${order.price} 未发货 已发货 已签收 查看详情

4.1、编写我的订单详情模块的 Dao 程序和测试

OrderItemDao 接口 :

/** * 根据订单编号查询订单明细 * @param OrderId * @return */List
queryOrderItemsByOrderId(String OrderId);

OrderItemDao 实现 :

@Overridepublic List
queryOrderItemsByOrderId(String orderId) {
String sql = "select id,name,count,price,total_price totalPrice,order_id orderId from t_order_item where order_id = ?"; return queryForList(OrderItem.class,sql,orderId);}

OrderItemDaoTest:

@Testpublic void showOrderDetail() {
List
orderItems = orderItemDao.queryOrderItemsByOrderId("16023323760301"); for (OrderItem orderItem : orderItems) {
System.out.println(orderItem); }}

4.2、编写我的订单详情模块的 Service 和测试

OrderService 接口:

/** * 查看订单详情 * @param orderId 订单编号 * @return */List
showOrderDetail(String orderId);

OrderService 实现类 :

@Overridepublic List
showOrderDetail(String orderId) {
List
orderItems = orderItemDao.queryOrderItemsByOrderId(orderId); return orderItems;}

测试 :

@Testpublic void showOrderDetail() {
List
orderItems = orderItemDao.queryOrderItemsByOrderId("16023323760301"); for (OrderItem orderItem : orderItems) {
System.out.println(orderItem); }}

4.3编写我的订单详情Servlet程序和jsp页面

ClientOrderServlet:

/**     * 显示订单详情     * @param req     * @param resp     * @throws ServletException     * @throws IOException     */    protected void showOrderDetail(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获得参数 String orderId = req.getParameter("orderId"); int allCount = WebUtils.parseInt(req.getParameter("allCount"), 1); String allPrice = req.getParameter("allPrice"); List
orderItems = orderService.showOrderDetail(orderId); req.getSession().setAttribute("myOrderItems",orderItems); req.getSession().setAttribute("allCount",allCount); req.getSession().setAttribute("allPrice",allPrice); req.getRequestDispatcher("/pages/order/order_Item.jsp").forward(req,resp); }

order.html:

查看详情order_item.jsp:<%@ page contentType="text/html;charset=UTF-8" language="java" %>    订单详情    <%-- 静态包含 base标签、css样式、jQuery文件 --%>    <%@include file="/pages/common/head.jsp"%>
商品名称 数量 单价 总金额 订单编号
${
orderItem.name}
${
orderItem.count}
${
orderItem.price}
${
orderItem.totalPrice}
${
orderItem.orderId}
这个订单中共${
sessionScope.allCount}
件商品
总金额${
sessionScope.allPrice}
<%--静态包含页脚内容--%><%@include file="/pages/common/footer.jsp"%>

转载地址:http://bquki.baihongyu.com/

你可能感兴趣的文章
Flash Player10 3D测试
查看>>
浅谈网络游戏项目开发难度
查看>>
flash fps游戏 fps多少为佳
查看>>
心得:对AMF3的误解
查看>>
事件对象的target和currentTarget属性区别
查看>>
事件冒泡阻止event.stopPropagation()
查看>>
Flex4 beta 的 Spark 布局
查看>>
Spark 架构和组件集的简要概述
查看>>
关于flex4中文(zh_CN)本地化应用编译不通过的解决方法
查看>>
摩斯密码表
查看>>
一段摩斯密码里的爱情故事
查看>>
游戏测试的技术难点和测试技术
查看>>
线程简介
查看>>
线程挂起自己,让出CPU
查看>>
线程同步(C# 编程指南)
查看>>
创建高效的线程安全类的步骤
查看>>
Failed to load class "org.slf4j.impl.StaticLoggerB
查看>>
使用 Apache MINA 2 开发网络应用
查看>>
MANIFEST.MF文件的格式
查看>>
NIO入门-了解Buffer
查看>>