展开全部

//购物车类ShoppingCart,仅供参考

package bookshop;

import java.util.*;

import java.sql.*;

import java.text.*;

public class ShoppingCart {

HashMap items = null;

public ShoppingCart() {

items = new HashMap();

}

public synchronized void add(String bookID) throws Exception {

if (items.containsKey(bookID))

{

ShoppingCartItem item = (ShoppingCartItem) items.get(bookID);

item.quantity++;

}

else

{

String sql = " SELECT * FROM tb_Book WHERE bookID='" + bookID

+ "' ";

DBHandle dbhandle = new DBHandle();

ResultSet rs = dbhandle.executeQuery(sql);

ShoppingCartItem newItem = new ShoppingCartItem();

if (rs.next()) {

newItem.bookID=bookID;

newItem.isbn = rs.getString("ISBN");

newItem.bookName = rs.getString("bookName");

newItem.bookImage = rs.getString("bookImage");

newItem.categoryID = rs.getString("categoryID");

newItem.author = rs.getString("author");

newItem.price = rs.getFloat("price");

newItem.description = rs.getString("description");

newItem.quantity=1;

dbhandle.closeResource();

items.put(bookID, newItem);

}

}

}

public synchronized void setItem(String BookID, int num) {

if (items.containsKey(BookID)) {

ShoppingCartItem item = (ShoppingCartItem) items.get(BookID);

item.quantity=num;

}

}

public synchronized void remove(String BookID) {

items.remove(BookID);

}

public synchronized Iterator getItems() {

Collection c = items.values();

return c.iterator();

}

protected void finalize() throws Throwable {

items.clear();

}

public synchronized int getNumberOfItems() {

return items.size();

}

public synchronized double getTotal() {

double amount = 0.0;

for (Iterator i = getItems(); i.hasNext();) {

ShoppingCartItem item = (ShoppingCartItem) i.next();

amount += item.quantity *item.price;

}

return roundOff(amount);

}

private double roundOff(double x) {

long val = Math.round(x * 100); // cents

return val / 100;

}

public synchronized void clear() {

items.clear();

}

public int payOrder(String userName, String trueName, String postcode,

String address, String telephone, String memo) throws Exception {

Connection conn = null;

int orderID = 0;

DBHandle dbhandle = new DBHandle();

try {

conn = dbhandle.getConnection();

conn.setAutoCommit(false);

Statement stmt = conn.createStatement();

double total = getTotal();

SimpleDateFormat dataFormat = new SimpleDateFormat(

"yyyy-MM-dd HH:mm:ss");

String orderDate = dataFormat.format(new java.util.Date());

String sql = " INSERT INTO tb_Orders(userName,trueName,address,postcode,tel,memo,totalPrice,isPay, isDeliver,orderDate)VALUES('"

+ userName+ "','"+ trueName

+ "','"

+ address

+ "','"

+ postcode

+ "','"

+ telephone

+ "','"

+ memo

+ "',"

+ total + ",'0','0','" + orderDate + "' ) ";

System.out.println(sql);

stmt.executeUpdate(sql);

sql = " SELECT MAX(orderID) AS maxOrderID FROM tb_Orders ";//改动

System.out.println(sql);

ResultSet rs = stmt.executeQuery(sql);

rs.next();

orderID = rs.getInt(1);

Iterator i = getItems();

while (i.hasNext()) {

ShoppingCartItem item = (ShoppingCartItem) i.next();

int quantity = item.quantity;

String id = item.bookID;

double price = item.price;

sql = " INSERT INTO tb_OrderDetail(orderID,bookID,quantity,price) VALUES("

+ orderID

+ ","

+ id

+ ","

+ quantity

+ ","

+ price

+ ")";

stmt.executeUpdate(sql);

}

conn.commit();

conn.setAutoCommit(true);

} catch (Exception ex) {

conn.rollback();

System.out.println(ex.getMessage());

throw ex;

} finally {

dbhandle.closeResource();

}

return orderID;

}

}

//图书信息类,62616964757a686964616fe59b9ee7ad9431333332623331ShoppingCartItem

package bookshop;

public class ShoppingCartItem{

public String bookID = null;

public String isbn = null;

public String bookName = null;

public float price = 0.0F;

public String description = null;

public String bookImage=null;

public String author=null;

public String categoryID=null;

public int quantity;

}

jsp购物车和mysql_jsp购物车的代码和数据库相关推荐

  1. 【java web】用jsp实现简单的购物车程序

    这里写自定义目录标题 index.jsp 首页 zuce.jsp 注册界面 login.jsp 登录界面 index_OK.jsp 登录成功界面 l1.jsp 商品1[自提交] l2.jsp 商品2[ ...

  2. javaweb之MVC购物车(加入购物车,订单,订单详情)

    MVC(Model View Controller)是软件工程中的一种软件架构模式,它把软件系统分为模型.视图和控制器三个基本部分.用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一 ...

  3. python 购物车程序_购物车程序python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 第3点要求: 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒在循环外层 ...

  4. Easyui项目之添加购物车、清空购物车

    添加购物车.清空购物车 添加购物车的三种方式 一:session保存购物车信息到session服务端 1.点击我的购物车查询后台的session,通过用户账号去找2.如果有那就显示,如果没有不显示 3 ...

  5. android 仿美团购物车,Android 美团购物车效果

    老规矩先上效果图 美团购物车.gif 2020-11-23新增吸顶和Fragment配合 gif (2).gif GIF图有点不清楚,再上两张截图 Wec1111.jpeg Wech222.jpeg ...

  6. php 购物车 方法,php购物车实现方法

    本文实例讲述了php购物车实现方法.分享给大家供大家参考.具体分析如下: 这里我们为你提供个简单的php购物车代码,从增加购物产品与发生购买了,在商城开发中,这个功能是少不了的,我们不需要数据库,用了 ...

  7. 模拟商城添加、查看商品和添加商品到购物车、查看购物车

    //欢迎来到(模拟)京东商城代码编辑 //商城接口类:定义查询和添加商品的方法(修改和删除暂不写) package shopping.dao;import shopping.entity.Produc ...

  8. java模拟制作购物车_模拟购物车的实现过程(详细讲解)

    我们把购物车的步骤分为了三步 一.加入购物车 二.购物车中物品数量的控制 三.计算金额 下面为实现的代码:(代码也是按照上面的思路写的大家可以看看,看不懂可以参照上面的图片上的步骤) 购物车 h1 { ...

  9. 关于电商项目的购物车总结和购物车实现

    关于电商项目的购物车总结和购物车实现 本文中简述的购物车模仿京东的模式,用户没有登录,也可进行购物车的操作,如果用户登录了,则在数据库中操作购物车.我们基于存放在cookies里面. 先看添加到购物车 ...

  10. java el表达式 导航规则_诺禾:在jsp里面如何不写java代码展示数据(EL表达式的使用)...

    EL表达式可以简化jsp中写的java代码 在jsp里面如何不写java代码展示数据(EL表达式的使用) 在jsp里面如何不写java代码展示数据(EL表达式的使用) 在jsp里面如何不写java代码 ...

最新文章

  1. css js 兼容问题
  2. shell 读mysql内数据
  3. AtCoder AGC030F Permutation and Minimum (DP、计数)
  4. MYSQL 5.7 解压版 windows 环境下安装
  5. 小米CC9 Pro同款一亿像素摄像头有望被三星Galaxy S11采用
  6. HTML解决div里面img的缝隙问题
  7. [贪心][高精度][NOIP]国王游戏
  8. 初始化请求例子_当一个http请求来临时,SpringMVC究竟偷偷帮你做了什么?
  9. 两边放动物对战守城的游戏_疯狂动物园小程序游戏:入口
  10. paip.提升稳定性---c3p0数据库连接池不能取到连接An attempt by a client to checkout a Connection has timed out
  11. word2016+endnoteX7的安装与配置
  12. iis打不开php,php出现404找不到网页错误 iis配置问题解决
  13. 学校教学的计算机网络教室它的网络类型,用于学校教学的计算机网络教室,它的网络类型属于( )...
  14. 一般测试流程 常用的软件测试工具有哪些? 开源测试工具 软件测试一般用到的工具、框架、技术列表
  15. 计算机系微电子专业大学排名,微电子专业大学排名情况一览表
  16. linux 端口不通,linux的端口不通怎么解决
  17. linux 小括号 中括号 双小括号 双中括号
  18. 如何下载喜马拉雅里面的音频文件
  19. JDK8 ThreadLocal 源码解析与最佳实践
  20. Windows一键删除指定文件或文件夹

热门文章

  1. 2008服务器怎么建网站,2008系统快速搭建网站教程
  2. GCC编译器的使用方法
  3. 百度文档ppt,word文档下载
  4. Python玩转emoji表情 一行代码的事儿!
  5. 最简单的Officescan快速卸载
  6. [论文阅读] (16)Powershell恶意代码检测论文总结及抽象语法树(AST)提取
  7. 小米路由器4a开发版固件_小米路由器 4A 刷入lean 的 openwrt/lede
  8. RHEL6配置yum源为网易镜像
  9. Oracle Primavera P6EPPM Mobile/App 安卓移动端分享(长期更新)
  10. [NOIP2017 普及组] 图书管理员