JavaWeb 购物车项目(二)

本文详细介绍了如何在JavaWeb购物车项目中实现订单和订单详情的功能,包括增加订单和订单详情数据、查看订单功能的完善以及订单详情功能的实现。通过点击结算按钮,清除购物车数据,生成新的订单,并存储订单详情。同时,文章还展示了如何根据用户ID查询订单,展示订单界面以及订单详情,为项目的进一步功能扩展提供了基础。
摘要由CSDN通过智能技术生成

该篇文章主要是将我们剩下的功能完成,完善我们购物车项目,再看该文章之前,可以先去看下购物车项目(一)该篇文章。

目录

一.增加订单和订单详情数据

二.查看订单功能完善

三.订单详情功能完善


一.增加订单和订单详情数据

  首先在我们的购物车界面中有一个按钮订单结算,点击该按钮时我们的购物车数据清空,然后新增一条订单数据,点单结算时购物车有几条数据,在我们的订单详情表中,对应着该订单的商品数量就有几条。

1.购物车页面代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css">
<script src="bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script>
<script src="bootstrap-3.3.7-dist\js\bootstrap.js"></script>
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>我的购物车</title>
</head>
<body>
<div class="container">
	<h1>
		${user.name}<small>这是购物车</small>
	</h1>
	<h1>
		<a href="index.do" class="btn btn-default">继续购买</a>
		<a href="order.do" class="btn btn-default">订单结算</a>
		<a href="selectOtder.do" class="btn btn-default">查看订单</a>
	</h1>
	<table class="table table-bordered table-striped">
		<tr>
			<td>商品编号</td>
			<td>商品名字</td>
			<td>商品单价</td>
			<td>商品数量</td>
			<td>商品总价</td>
			<td>商品操作</td>
		</tr>
		<c:forEach items="${car}" var="c">
		<tr>
			<td>${c.goods.id}</td>
			<td>${c.goods.name}</td>
			<td>${c.goods.price}</td>
			<td><a href="updCar.do?id=${c.goods.id}&type=1" class="btn btn-default">+</a>   ${c.count}   <a href="updCar.do?id=${c.goods.id}&type=-1" class="btn btn-default">-</a></td>
			<td>${c.total}</td>
			<td><a href="delCar.do?id=${c.goods.id}" class="btn btn-default">商品删除</a></td>
			
		</tr>
		</c:forEach>
      </table>
	</div>
	
	<h1>总价:${sum}</h1>

</body></html>

2.pojo包下订单实体类代码:

package com.yjx.pojo;
/**
 * 订单实体类
 * @author zjjt
 *
 */
public class Order {
         
	private Integer id;
	private Integer userId;
	private Integer total;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public Integer getUserId() {
		return userId;
	}
	public void setUserId(Integer userId) {
		this.userId = userId;
	}
	public Integer getTotal() {
		return total;
	}
	public void setTotal(Integer total) {
		this.total = total;
	}
	
	
	public Order() {
		// TODO Auto-generated constructor stub
	}
	
	
	public Order(Integer id, Integer userId, Integer total) {
		super();
		this.id = id;
		this.userId = userId;
		this.total = total;
	}
	
	
	@Override
	public String toString() {
		return "Order [id=" + id + ", userId=" + userId + ", total=" + total + "]";
	}
	
	
	
	
	
}

3.订单的数据访问层接口代码如下: IOrderDao

具备查询最大id,插入订单,根据用户id查询订单

package com.yjx.dao;

import java.util.List;

import com.yjx.pojo.Order;

/**
 * 订单数据访问层接口
 * @author zjjt
 *
 */
public interface IOrderDao {
	
	//查询最大id
	int selectId();
	
	//增加数据
	int add(Order o);
    
	//根据用户id查询id
	List<Order> list(int userId);

}

4.订单的数据访问层代码如下: OrderDaoImpl

package com.yjx.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.yjx.dao.IOrderDao;
import c
  • 5
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值