java实现购物车优惠券_java实现网上购物车的简单功能

物车的逻辑业务的实现(MyCartBO.java),能够满足用户的添加,删除,修改,清空,查看购物车的信息!

ConnDB.java(这只是一个得到数据库连接和类)

01 //连接数据库

02 package cn.fqfx.model;

03

04 import java.sql.*;

05

06 public class ConnDB

07 {

08     //定义一个连接

09     private Connection ct = null;

10

11     //得到连接

12     public Connection getConn()

13     {

14         try {

15             //加载驱动

16             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

17             //得到连接

18             ct = DriverManager.getConnection

19                     ("jdbc:microsoft:sqlserver://localhost:1433;databaseName=whdb2","sa","sa");

20         } catch (Exception e) {

21             e.printStackTrace();

22             // TODO: handle exception

23         }

24         return ct;

25     }

26 }

GoodsBean.java(这个文件主要用来保存从数据库的goods表中取得的信息)

01 //这是一个与Goods表对应的java bean

02 //表的信息可以保存在这里面

03 package cn.fqfx.model;

04

05 public class GoodsBean

06 {

07     //分别与goods表的各个字段相对应

08     private int goodsId = 0;

09     private String goodsName = "";

10     private String goodsInfo = "";

11     private String goodsPlace = "";

12

13

14     public int getGoodsId() {

15         return goodsId;

16     }

17     public void setGoodsId(int goodsId) {

18         this.goodsId = goodsId;

19     }

20

21

22     public String getGoodsName() {

23         return goodsName;

24     }

25     public void setGoodsName(String goodsName) {

26         this.goodsName = goodsName;

27     }

28

29

30     public String getGoodsInfo() {

31         return goodsInfo;

32     }

33     public void setGoodsInfo(String goodsInfo) {

34         this.goodsInfo = goodsInfo;

35     }

36

37

38     public String getGoodsPlace() {

39         return goodsPlace;

40     }

41     public void setGoodsPlace(String goodsPlace) {

42         this.goodsPlace = goodsPlace;

43     }

44 }

MyCartBO.java(这个就是购物车,主要以HashMap实现存放用户想买的商品id,商品数量.然后,通过方法的调用把购物车中的信息返回到界面让用户看)

001 //这是一个业务对象,相当于一个购物车!!

002 //-->使用说明:这个购物车最好是在session中使用,因为一个用户一辆购物车,这样东西才不会一直丢

003 package cn.fqfx.model;

004

005 import java.sql.*;

006 import java.util.*;

007

008 public class MyCartBO

009 {

010     //定义几个数据库的连接

011     private Connection ct  = null;

012     private PreparedStatement ps = null;

013     private ResultSet rs = null;

014

015     //定义一个HashMap充当购物车,第一个用来存放goodsId,值就是goods的数量

016     HashMap hm = new HashMap();

017

018     //当用户想购买的时候,就加入 购物车里面

019     public void addGoods(String goodsId, String goodsNumber)

020     {

021         hm.put(goodsId, goodsNumber);

022     }

023

024     //当用户不想要东西的时候,就把它删除

025     public void delGoods(String goodsId)

026     {

027         hm.remove(goodsId);

028     }

029

030     //当用户什么也不想要的时候,就清空它

031     public void clearGoods()

032     {

033         hm.clear();

034     }

035

036     //当用户想更换物品的数量的时候,就更新一下

037     public void upGoods(String goodsId, String newNumber)

038     {

039         //还是用加入物品的方法,因为会自动替换掉它,如果货物名字想换,那说明用户想删除了

040         hm.put(goodsId, newNumber);

041     }

042

043     //得到单个物品的数量,要用的话把它转成int型再使用

044     public String getGoodsNumberByGoodsId(String goodsId)

045     {

046         return hm.get(goodsId);

047     }

048

049     //把购物车的东西全部取出来,放入ArrayList里面

050     public ArrayList getAllGoods()

051     {

052         //要知道这个ArrayList是用来放GoodsBean,因为GoodsBean与表相对应,所以可以保存物品的信息

053         ArrayList al = new ArrayList();

054         try {

055             //得到连接

056             ct = new ConnDB().getConn();

057

058             //想一个sql语句,主要是取得goodsId,就可以全部取出来给外面的使用

059             String sql = "select * from goods where goodsId in (";

060             Iterator it = hm.keySet().iterator();

061             while(it.hasNext())

062             {

063                 //把goodsId取出来

064                 String goodsId = it.next();

065                 if(it.hasNext()){

066                     sql += goodsId+",";

067                 }else{

068                     sql += goodsId+")";

069                 }

070             }

071

072             //创建ps,上面把sql语句组织好

073             ps = ct.prepareStatement(sql);

074

075             //执行

076             rs = ps.executeQuery();

077

078             //取出来,放在GoodsBean,再把GoodsBean一个个放入ArrayList中,显示的页面就可以调用了

079             while(rs.next())

080             {

081                 GoodsBean gb = new GoodsBean();

082                 gb.setGoodsId(rs.getInt(1));

083                 gb.setGoodsName(rs.getString(2));

084                 gb.setGoodsInfo(rs.getString(3));

085                 gb.setGoodsPlace(rs.getString(4));

086

087                 //把gb放入al,相当于保存了从数据库中获得的数据

088                 al.add(gb);

089             }

090         } catch (Exception e) {

091             e.printStackTrace();

092             // TODO: handle exception

093         }finally{

094             this.closeDBResource();

095         }

096         return al;

097     }

098

099     //关闭数据库资源

100     public void closeDBResource()

101     {

102         try {

103             if(rs != null){

104                 rs.close();

105                 rs = null;

106             }

107         } catch (Exception e2) {

108             e2.printStackTrace();

109             // TODO: handle exception

110         }

111         try {

112             if(ps != null){

113                 ps.close();

114                 ps = null;

115             }

116         } catch (Exception e2) {

117             e2.printStackTrace();

118             // TODO: handle exception

119         }

120         try {

121             if(ct != null){

122                 ct.close();

123                 ct= null;

124             }

125         } catch (Exception e2) {

126             e2.printStackTrace();

127             // TODO: handle exception

128         }

129     }

130 }

原文链接:http://www.2cto.com/kf/201206/136396.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于java的实验室网上预约系统设计与实现 技术:后端:java,前端:html+js+css 框架:springBoot SSM 运行工具:idea 数据库:mysql 源码:详见文章最后 1、    登录页面: 2、首页 3、用户管理  4、添加用户  5、角色管理  6、添加角色  7、编辑角色 8、预约管理  9、新增预约  10、数据统计 数据库脚本如下: CREATE TABLE `sys_user_t` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `role_id` VARCHAR(500) NULL DEFAULT NULL COMMENT '角色ID', `user_id` VARCHAR(50) NOT NULL COMMENT '用户ID', `user_name` VARCHAR(100) NOT NULL COMMENT '用户名', `status` VARCHAR(50) NOT NULL COMMENT '是否有效0:false\\\\\\\\1:true', `create_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `create_by` VARCHAR(100) NULL DEFAULT NULL, `last_update_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `last_update_by` VARCHAR(100) NULL DEFAULT NULL, `password` VARCHAR(128) NOT NULL, `tenantcode` VARCHAR(50) NOT NULL, `diskId` VARCHAR(500) NULL DEFAULT NULL, `remarks` VARCHAR(500) NULL DEFAULT NULL, PRIMARY KEY (`id`) ) COMMENT='系统用户表' COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=52 ; CREATE TABLE `sys_role_t` ( `role_id` INT(11) NOT NULL COMMENT '角色ID', `role_name` VARCHAR(200) NOT NULL COMMENT '权限名称', `status` INT(11) NOT NULL COMMENT '是否有效0:true\\\\1:false', `create_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `create_by` VARCHAR(100) NULL DEFAULT NULL, `last_update_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `last_update_by` VARCHAR(100) NULL DEFAULT NULL ) COMMENT='系统角色表' COLLATE='utf8_general_ci' ENGINE=InnoDB ; CREATE TABLE `sys_menu_t` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '序列', `parent_id` VARCHAR(50) NOT NULL COMMENT '父节点ID', `menu_id` VARCHAR(50) NOT NULL COMMENT '菜单ID', `menu_name` VARCHAR(200) NOT NULL COMMENT '菜单名称', `menu_url` VARCHAR(200) NULL DEFAULT NULL COMMENT '菜单URL', `status` INT(11) NOT NULL COMMENT '有效(0有效,1失效)', `create_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `create_by` VARCHAR(200) NULL DEFAULT NULL, `last_update_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `last_update_by` VARCHAR(200) NULL DEFAULT NULL, PRIMARY KEY (`id`) ) COMMENT='菜单表' COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=33 ; CREATE TABLE `client_manager_t` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '序列', `clientId` VARCHAR(50) NULL DEFAULT NULL COMMENT '客户编号', `clientName` VARCHAR(50) NULL DEFAULT NULL COMMENT '客户姓名', `address` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户住址', `source` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户所属公司', `sourceDate` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户发展时间', `status` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户级别', `clientNum` VARCHAR(200) NULL DEFAULT NULL COMMENT '拜访客户次数', `isTrue` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户是否有效', PRIMARY KEY (`id`) ) COMMENT='客户人员信息表' COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=47 ;

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值