Goods:查询某个用户的购物车条目以及添加购物车条目
CartItemDao
1 //查询某个用户的某本图书的购物车条目是否存在 2 public CartItem findByUidAndBid(String uid,String bid) throws SQLException 3 { 4 String sql="select * from t_cartitem where uid=? and bid=?"; 5 Map<String,Object> map=qr.query(sql, new MapHandler(),uid,bid); 6 CartItem cartItem=toCartItem(map); 7 return cartItem; 8 } 9 10 //修改数量 11 12 public void updateQuantity(String cartItemId,int quantity) throws SQLException 13 { 14 String sql="update t_cartitem set quantity=? where cartItemId=?"; 15 qr.update(sql,quantity,cartItemId); 16 } 17 18 //添加cartItem 19 20 public void addCartItem(CartItem cartItem) throws SQLException 21 { 22 String sql="insert into t_cartitem(cartitemId,quantity,bid,uid)"+ 23 " values(?,?,?,?)"; 24 Object[] params={cartItem.getCartItemId(),cartItem.getQuantity(), 25 cartItem.getBook().getBid(), 26 cartItem.getUser().getUid()}; 27 qr.update(sql,params); 28 29 30 } 31 //把一个map映射成一个cartItem 32 private CartItem toCartItem(Map<String,Object> map) 33 { 34 // 35 if(map==null||map.size()==0) return null; 36 //1、把Map 37 CartItem cartItem=CommonUtils.toBean(map, CartItem.class); 38 Book book=CommonUtils.toBean(map, Book.class); 39 User user=CommonUtils.toBean(map, User.class); 40 cartItem.setBook(book); 41 cartItem.setUser(user); 42 return cartItem; 43 44 } 45 46 //把多个map (List<Map>)映射成多个CartItem(List<CartItem>) 47 48 private List<CartItem> toCartItemList(List<Map<String,Object>> mapList) 49 { 50 List<CartItem> cartItemList=new ArrayList<CartItem>(); 51 for(Map<String,Object> map:mapList) 52 { 53 CartItem cartItem=toCartItem(map); 54 cartItemList.add(cartItem); 55 } 56 return cartItemList; 57 } 58 59 //通过用户查询购物车条目 60 public List<CartItem> findByUser(String uid) throws SQLException 61 { 62 //多表查询 63 String sql="select * from t_cartitem c,t_book b where c.bid=b.bid where uid=? order by c.orderBy"; 64 List<Map<String, Object>> mapList=qr.query(sql, new MapListHandler(),uid); 65 66 return toCartItemList(mapList); 67 68 }
CartItemService
1 public List<CartItem> myCart(String uid) 2 { 3 try { 4 return cartItemDao.findByUser(uid); 5 } catch (SQLException e) { 6 // TODO Auto-generated catch block 7 throw new RuntimeException(e); 8 } 9 10 } 11 12 //添加条目 13 public void add(CartItem cartItem) 14 { 15 //使用uid bid 看条目是否存在 _cartItem 加上下划线表示从数据库传过来的数据 16 try { 17 CartItem _cartItem=cartItemDao.findByUidAndBid 18 (cartItem.getUser().getUid(), cartItem.getBook().getBid()); 19 if(_cartItem==null) //如果没有原来这个条目 添加条目 20 { 21 cartItem.setCartItemId(CommonUtils.uuid()); 22 cartItemDao.addCartItem(cartItem); 23 } 24 else{ 25 //如果原来有这个条目 修改数量 26 int quantity=cartItem.getQuantity()+_cartItem.getQuantity(); 27 //_cartItem.setQuantity(quantity); 28 //修改老条目 29 cartItemDao.updateQuantity(_cartItem.getCartItemId(), quantity); 30 31 } 32 } catch (SQLException e) { 33 throw new RuntimeException(e); 34 } 35 }
效果图如下:
转载于:https://www.cnblogs.com/xiaoying1245970347/p/4785150.html
Goods:查询某个用户的购物车条目以及添加购物车条目相关推荐
- asp.net购物车,订单以及模拟支付宝支付(一)---购物车表及添加购物车流程
在开发一个Web程序的时候用到了网购这个功能,上来分享并记录一下,以便以后忘记了可以自己看看(电脑东西太多,笔记都不知道放哪里去了啊啊啊啊啊!!!) 没有什么高并发量,什么什么技术理论,只是一个最最基 ...
- php如何实现添加到购物车_PHP实现添加购物车功能
session_start(); $ids=$_GET["ids"]; /*$arr = array( array("k001",10), array(&quo ...
- 【畅购商城】购物车模块之添加购物车
购物车数据2种形态: 登录态:保存到服务器端的redis中 没登录:保存在浏览器端 localStorage 中 搭建购物车服务:8095 步骤一:创建changgou4-service-cart 项 ...
- sqlalchemy数据库中的limit使用(限制查询的用户数量)
文章目录 1.实验结果: 2.主文件:main.py: 1.实验结果: 2.主文件:main.py: from flask_wtf import FlaskForm from flask_sqlalc ...
- linux ftp登录命令_Linux使用pinky命令查询登录用户信息
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何在Linux系统上使用pinky命令查 ...
- Oralce 数据库 - 查询数据库所有的表和视图实例演示,查询指定用户下所有表和视图方法
查询数据库所有的表有下面两个方法. -- 查询数据库所有的表 select * from all_tables; select * from all_tab_comments where table_ ...
- oracle开放查询表权限_oracle 查询当前用户的表和其他用户的表
首先 当前的用户 需要有查询其他用户的表的 权限 然后 如果是用该用户登录使用以下语句: SELECT * FROM USER_TABLES; 如果是用其他用户: SELECT * FROM ALL_ ...
- 通过ID查询一个用户的两种开发方法
通过ID查询一个用户的两种开发方法 数据库建表sql语句如下:https://github.com/beyondyanyu/Sayingyy/blob/master/JDBC2-数据库sql建表语句 ...
- 安卓开发 登录用户信息缓存_在Linux上使用finger命令查询登录用户信息
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解finger命令的作用和日常使用案例. f ...
最新文章
- bzoj1688[Usaco2005 Open]Disease Manangement 疾病管理*
- RISC-V有何特别之处?
- Trie的C++实现及HDU1251,hdu1671
- Java学习|先定一个小目标比如让行为聚焦
- #论文 《Deep Residual Learning for Image Recognition》
- 基于IndRNN的手机传感器动作识别
- 从 0 到 1 实现 React 系列 —— 4.setState优化和ref的实现
- 二分图匹配--匈牙利算法
- Java Servlet总结
- php 游标 上移,jQuery点击input使光标移动到最后或指定位置
- 第一站---大连---看海之旅
- 当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的.
- python写数据库校验_Python:生成验证码并插入到数据库!
- windows smb更改端口_SMB协议(使用说明+过程详解+抓包分析)
- matlab能流图,有会用MATLAB写海流图的程序吗
- 为什么谈设计总爱提老庄之道
- Kubernetes 深入理解 Pod
- 手游沙巴克传奇当前服务器维护,《沙巴克传奇》12月18日安卓、IOS维护公告
- 存储技术和灾备解决方案要点
- iPhone14和14pro的区别
热门文章
- 研发解决方案介绍#Tracing(鹰眼)
- day023 常用模块02
- [Node.js月刊]2018年第1期
- ps-色彩饱和度的设计
- linux 报错 bash ‘/bin/sh: Syntax error: “(” unexpected
- 课程题目 : 1003. 简单字符串匹配
- 分享:玩Linux笔记(2) —— 神奇的curl工具
- 联想亮出智能手机全面投身移动互联网
- 10-Python入门学习-函数的对象与嵌套、名称空间与作用域、闭包函数
- k8s服务发现和负载均衡(转)