jsp中购物车的实现思路


1.创建用户user实体类,该类中有cart购物车属性,并包含一些列有关购物车的方法,如getCart(),remove(),buy()等
2.购物车被创建之后就一直被放在user对象中保存在session中,购物车就是一个Map集合,键为商品id,值为商品数量,
  此处注意Map集合的键类型为Object,如果商品id为int类型,需转成String类型,因为int不是Object类型,Integer才是。
3.如何获取到购物车中的所有商品????
  使用Map集合的keySet()方法获取到Map集合中的所有键值,该方法返回的是所有键值组成的Set集合,然后遍历该set集合,
  依次拿出各个商品的id值,并可通过Map集合的get("key")方法获取到各个商品id对应的商品数量,同时在遍历set集合的时候,
  调用根据id查询商品信息的方法获取到商品的除id和数量外的其他信息,然后就可在购物车中显示,包括总价格信息
-------这里要注意:在商品的实体类中不包含购买数量属性,该属性是业务处理过程中生成的属性,习惯上使用vo对象进行处理,
       目前我的实现比较简单,就是在商品类中添加了数量属性,但该属性在数据库并无对应字段,只是用来封装进实体类对象之中,
       如此处理就有一个问题:根据商品id查询数据库获取的商品对象中并无数量属性,如果在调用查询方法之前将商品数量设置进
       商品对象中,在调用了查询方法之后商品对象就会被更新,数量信息会拿不到,因此必须在调用了产讯方法之后在设置数量信息
       到对象中。。。。
4.在创建数据库时注意:订单表和订单详情表   -------  两个表的id字段名一致,并且均不是主键,也不设置自增
  订单详情表用来保存用户订单的具体信息,如果某个用户购买了多件商品,那么在点击结帐按钮时循环遍历set集合,依次将信息添加进
  商品详情表中,这样在该表中用户购买了几件商品就会产生几条记录,并且这些记录的详细订单oid值是一样的,都对应订单表的某个id值,
  而订单表的id值不是重复的,此处在往订单详情表中添加信息时,首先获取到订单详情表的最大id值,然后+1,即为目前订单的id,在调用
  完添加方法之后,再调用查询最大id的方法获取到最大id值(此时不再+1),该值又作为订单表的id进行添加,如此一来两个表之间的id值就 变得一致

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智玲君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值