




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java 实现运用 HashMap 充当购物车, goodbean 充当存放数据java 实现网上购物车的简单功能 2012-06-20 10:00:00 我来说两句 收藏 我要投稿物车的逻辑业务的实 现(MyCartBO.java),能够满足用户的添加,删除,修改,清 空,查看购物车的信息 !ConnDB.java( 这只是一个得到数据 库连接和类 )01 / 连接数据库 02 package cn.fqfx.model; 03 04 import java.sql.*; 0506 public class ConnDB 07 08/定义一个连接 09 private Connection
2、ct =null; 10 11/得到连接 12 publicConnection getConn() 13 14try 15/加载驱动 16 Class.forName(com.microsoft.jdbc.sqlserver.SQLServerD river); 17/得到连接 18ct =DriverManager.getConnection 19 (jdbc:microsoft:sqlserver:/localhost:1433;databaseName =whdb2,sa,sa); 20 catch (Exception e) 21e.printStackTrace(); 22/ TO
3、DO: handleexception 23 24return ct; 2526 GoodsBean.java( 这个文件主要用来保存从数据库的 goods 表中取得的信息 )01 / 这是一个与 Goods 表对应的 java bean 02 / 表的信息可以保存在这里面 03 package cn.fqfx.model; 04 05 public class GoodsBean 06 07 /分别与 goods 表的各个字段相对应 08 private intgoodsId = 0; 09 private String goodsName= ; 10private String goods
4、Info = ; 11 private StringgoodsPlace = ; 12 13 14public intgetGoodsId() 15 return goodsId; 16public void setGoodsId(int goodsId) 18 17this.goodsId = goodsId; 19 20 21 22public String getGoodsName() 23returngoodsName; 24 25 public void setGoodsName(String goodsName) 26 this.goodsName = goodsName; 27
5、282930public String getGoodsInfo() 31returngoodsInfo; 32 33 public void setGoodsInfo(String goodsInfo) 34this.goodsInfo = goodsInfo; 35 363738 public String getGoodsPlace() 39 goodsPlace; 40 41public voidreturnsetGoodsPlace(String goodsPlace) 42 this.goodsPlace = goodsPlace; 43 44 MyCartBO.java( 这个就
6、是购物车,主要以 HashMap 实现存放用户想买的商品 id, 商品数量 .然后,通过方法的调用把购 物车中的信息返回到界面让用户看 )001 / 这是一个业务对象, 相当于一个购物车! ! 002 /-> 使用说明:这个购物车最 好是在 session 中使用, 因为一个用户一辆购物车 ,这样东西 才不会一直丢 003 package cn.fqfx.model; 004005import java.sql.*; 006 import java.util.*; 007008 publicclass MyCartBO 009 010 / 定义几个数据库的连接 011private Co
7、nnection ct= null; 012 privatePreparedStatement ps = null; 013private ResultSetrs = null; 014015/定义一个 HashMap 充当购物车 ,第一个用来存放 goodsId, 值就是 goods 的数量 016 HashMap<String, String> hm = new HashMap<String, String>(); 017018/当用户想购买的时候,就加入 购物车里面 019 public void addGoods(String goodsId, String g
8、oodsNumber) 020 021 hm.put(goodsId, goodsNumber); 022 023 024/当用户不想要东西的时候,就把它删除 025public void delGoods(String goodsId) 026 027hm.remove(goodsId); 028 029030 /当用户什么也不想要的时候,就清空它 031 public void clearGoods() 032 033hm.clear(); 034 035 036/当用户想更换物品的数量的时候,就更新一下 037 public voidupGoods(String goodsId, Str
9、ing newNumber) 038 039/还是用加入物品的方法, 因为会自动替换掉它,如果货物名字想换,那说明用户想删除了040hm.put(goodsId, newNumber); 041 042043044045 046return hm.get(goodsId); 047048049/把购物车的东西全部取出来 ,放入ArrayList 里面 050public ArrayList<GoodsBean>getAllGoods() 051 052/要知道这个ArrayList 是用来放 GoodsBean ,因为GoodsBean 与表相对应,所以可以保存物品的信息 053A
10、rrayList<GoodsBean> al = newArrayList<GoodsBean>(); 054try 055/得到连接 056ct = newConnDB().getConn(); 057058/想一个 sql 语句 ,主要是取得goodsId, 就可以全部取出来给/得到单个物品的数量 ,要用的话把它转成 int 型再使用public String getGoodsNumberByGoodsId(String goodsId)外面的使用 059while(it.hasNext() 062 063String sql = select * fromgood
11、s where goodsId in (; 060Iterator<String> it = hm.keySet().iterator(); 061String goodsIdif(it.hasNext() 066else 068072073 ps =075/把 goodsId 取出来 064= it.next(); 065sql += goodsId+,; 067sql += goodsId+); 069070 071/创建 ps, 上面把 sql 语句组织好/执行 076078ct.prepareStatement(sql); 074rs = ps.executeQuery()
12、; 077 / 取出来,放在 GoodsBean, 再把GoodsBean 一个个放入 ArrayList 中,显示的页面就可以调用了 079 while(rs.next() 080 081 GoodsBean gb = new GoodsBean(); 082gb.setGoodsId(rs.getInt(1); 083 gb.setGoodsName(rs.getString(2); 084 gb.setGoodsInfo(rs.getString(3); 085 gb.setGoodsPlace(rs.getString(4); 086087/把gb放入al,相当于保存了从数据库中获得的
13、数据 088al.add(gb);089 090 catch (Exception e)finally 094 091e.printStackTrace(); 092 / TODO: handle exception 093return al; 097 098099 /关闭数据库资源 096this.closeDBResource(); 095 130 100public void closeDBResource() 101 102try 103if(rs != null) 104rs.close(); 105rs = null;106 107 catch (Exception e2) 108e2.printStackTrace(); 109/ TODO: handle exception 110 111try 112if(ps != null) 113ps.close(); 114ps = null;115 116 catch (E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 61937-17:2025 EN Digital audio - Interface for non-linear PCM encoded audio bitstreams applying IEC 60958 - Part 17: Non-linear PCM bitstreams according to the AVS3-P3 f
- 【正版授权】 IEC 60112:2025 CMV EN Method for the determination of the proof and the comparative tracking indices of solid insulating materials
- 病人版健康教育要点
- 建兰中学小升初数学试卷
- 健康网络课件
- 济南市高中二模数学试卷
- 广州佛山中考数学试卷
- 广州初三期中数学试卷
- 广东中小升初数学试卷
- 健康管理微循环课件图片
- GB/T 6414-2017铸件尺寸公差、几何公差与机械加工余量
- GB/T 20957.4-2007精密加工中心检验条件第4部分:线性和回转轴线的定位精度和重复定位精度检验
- 电缆桥架施工图集
- 信念的力量课件
- 接力初三赢在暑假-八年级下学期期末家长会课件
- 大海(张雨生)原版五线谱钢琴谱正谱乐谱
- 有限空间作业实操评分标准
- 精品案例-LTE负荷均衡优化案例
- 提升零售户店铺形象烟草QC课件
- 恶魔城苍月的十字架全怪物图鉴
- 病历启存记录单
评论
0/150
提交评论