版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家长会课件修改
- 人工智能在普惠金融与农村金融中的应用考核试卷
- 搪瓷制品的艺术设计与文化传承考核试卷
- 《变形缝止水材料》课件
- 对外长期投资课件
- 《可持续发展练习》课件
- 2024废钢买卖合同
- 美食节策划方案
- 园林绿化风险因素辨识及防控措施考核试卷
- 发电机在应急排水泵站的供电考核试卷
- 中国美术简史
- DB11T 2189-2023防汛隐患排查治理规范 城镇内涝
- 腰大肌脓肿的护理查房
- 江苏省2023-2024学年六年级上学期数学高频易错期末考前预测卷(苏教版)
- 小学各年级学会互助与合作共同成长主题班会
- 家长进课堂-能源的故事课件
- (2023年度)中央厨房、集体供餐配送单位食品安全全项目自查记录表
- 项目计划书项目人力资源分配
- 人教部编八年级历史上基础知识填空
- 体育教育课题申报书:《初中体育课堂运动方法分析》课题申报材料
- 《人类简史》从动物到上帝读书分享
评论
0/150
提交评论