商品管理系统的设计与实现.docx

上传人:小飞机 文档编号:5084606 上传时间:2023-06-02 格式:DOCX 页数:12 大小:113.28KB
返回 下载 相关 举报
商品管理系统的设计与实现.docx_第1页
第1页 / 共12页
商品管理系统的设计与实现.docx_第2页
第2页 / 共12页
商品管理系统的设计与实现.docx_第3页
第3页 / 共12页
商品管理系统的设计与实现.docx_第4页
第4页 / 共12页
商品管理系统的设计与实现.docx_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《商品管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《商品管理系统的设计与实现.docx(12页珍藏版)》请在三一办公上搜索。

1、商品管理系统的设计与实现作者:唐昌华李沅使来源:电脑知识与技术2021年第29期管理员会员分类图2系统ER图新闻揖号食品蟾号蔺葫家枷fl单#堇产日前4产厂盘产摧由区升矣酱向内容茬布H期 剧片厂-1圭* LD.C 科千克8T勺崩 山节土山车打珞a.耳典为平礼邠目郭霁;9|.“半由司洋III电翳tr脚花-藉-日| -3t却为手机它鼬。每事也戏瑚书麻顿己司斥JH|画才图3系统主界面/!笔.M gudd冲 囱*H 诊!.-2D1E0QG?11加! whiutf也ii 时*Piii-duLEQuy成站骚三症mN隆显名粽耦品*输好厂家折格卜膈&,.户虬斯品编H商品名触墙 生户H期生产广宰户饷商毓分类图片椅

2、加到癖物本中俞有威查看M1 新璋千克扪* L时山4* m食品*1Dj祥耳i 如二 ri 1 I12竿膳5.0耳院 NDEHS透牡券士春我捅.即初才与,凹i疝,?年策手机】口*一口息卦 如4 1茸尊-虱王国马器巽业? AidJE图4会员管理界面摘要:近些年来网上商品越来越多,为了满足日益增长的网购需求,采用jsp技术、 MySql数据库,使用MyEclipse作为开发工具实现商品管理系统,完成基本的商品信息管理, 还实现了购买商品时,按照会员等级自动进行折扣功能,完成订单时自动累积积分,当积分达 到标准时自动升级会员等级的功能,为商品的网上销售提高了效率。关键词:商品管理;JSP;JDBC中图分

3、类号:TP311文献标识码:A文章编号:1009-3044(2021)29-0076-03Design and Implementation of Commodity Management SystemTANG Chang-hua, LI Yuan-jie(College of Humanities and information, Changchun University of Technology, Changchun 130122, China)Abstract : In recent years, there are more and more online goods. In ord

4、er to meet the growing demand of online shopping, we use JSP technology, MySQL database and MyEclipse as the development tool to realize the commodity management system complete the basic commodity information management, and realize the automatic discount function according to the level when purcha

5、sing goods, and automatically accumulate points when completing the order, When the score reaches the standard, it can automatically upgrade the membership level, which improves the efficiency of online sales of goods.Key words : goods management; JSP; JDBC1背景本系统根据网络购物的需求,使用软件工程的设计思想,分析设计并实现了商品管理系 统

6、,并使用面向对象的思想对代码进行了封装,增强了系统的鲁棒性和可复用性。2总体设计本系统主要有管理员和会员两个角色,管理员的功能有:管理员管理、商品分类管理、商 品管理、商品入库、商品盘库、新闻管理、会员分类管理、会员管理、订单管理等。会员的功 能有:会员管理、商品查询、评论管理、购物车管理、订单管理等。如图1所示。3系统开放环境使用B/S(Browser/Server)结构完成本系统1。本系统采用JSP作为开发的前台,实现 DBUtil类,对JDBC数据库操作进行了封装作为数据持久化层,采用MySQL作为数据库。4数据库设计本系统设计一数据库productdb,十表,分别是:管理员表、商品库存

7、表、商品分类表、商品表、新闻表、订单详单表、订单表、购物车表、评价表、会员分类表、会员表。其 中商品分类和商品是一对多关系,管理员和新闻是一对多关系,商品和商品库存是一对一关 系,商品和新闻是一对多关系,商品和订单详单是一对多关系,商品和购物车是一对多关系, 商品和评价是一对多关系,会员分类和会员是一对多关系,会员和订单是一对多关系,会员和 购物车是一对多关系,会员和评价是一对多关系。系统ER图如图2所示。5系统实现本系统采用Jsp的model22设计模式进行开发,为典型的MVC架构3。使用JSP4作为 视图层,实现界面显示,采用自定义DBUtil类作为模型层,实现对数据库的各项操作,使用 S

8、erv let作为控制器层。除基本的增删改查功能外还完成了库存自动更新,商品价格按会员等 级自动折扣,会员积分按订单自动累加,分页显示,多条件模糊查询,商品图片上传5、显 示等功能。1) DBUtil类部分实现如下:更新操作的封装,包括增删改public static void executeUpdate (String strsql, ArrayListlstp) ( try (获取连接connConnection conn = getConnection ();由conn使用sql命令参数创建预处理语句对象PreparedStatementpstmt = conn.prepareState

9、ment (strsql) ; /使用参数值数组 lstp,循环绑定 sql命令中“?”对应的值/注意:“? ”序号从1开始,数组下标开始,所以第一个参数是i+1,而不是ifor (int i =0; ilstp.size () ; i+)pstmt.setect (i+1, lstp.get (i);执行更新操作pstmt.executeUpdate ();关闭相应对象注意:关闭顺序,先建的后关,后建的先关pstmt.close ();conn.close (); catch (Exception e) (e.printStackTrace ();带参数的查询的封装public static

10、 ArrayListexecuteQuery (String strsql, ArrayListlstp) (ArrayListlstres = new ArrayList () ; try (int i =0;Connection conn = getConnection ();PreparedStatementpstmt= conn.prepareStatement (strsql) ; /使用参数值数组 lstp,循环绑定 sql命令中“?”对应的值/注意:“? ”序号从1开始,数组下标开始,所以第一个参数是i+1,而不是iif (lstp ! = null) for (i =0; il

11、stp.size () ; i+) pstmt.setect (i+1, lstp.get (i);ResultSetrs = pstmt.executeQuery ();ResultSetMetaDatarsmd = rs.getMetaData ();int cc = rsmd.getColumnCount ();while (rs.next () ArrayListlstline = new ArrayList ();for(i =0; i cc; i+ )lstline.add (rs.getect (i+1);Istres.add (Istline);rs.close ();pstm

12、t.close ();conn.close (); catch (Exception e) (e.printStackTrace ();return lstres;2)添加言丁单实现:添加订单时,自动计算折扣价,累加积分,更新库存。public void doPost (HttpServletRequest request, HttpServle tResponse response)throws ServletException, IOException (String strscids = request.getParameterValues (chksc);if (strscids !

13、= null) (float money =0;String strsql =;ArrayListlstm = new ArrayList ();ArrayListlstres = new ArrayList () ; for (String strscid : strscids) ( int scid = Integer.parseInt (strscid);strsql =select * from shoppingcart as sc, product as p, pro- ductbase as pb+ where sc.id = ? and sc.pid = p.id and p.i

14、d = pb.pid and sc.num= pb.num ;Istm = DbUtil.findline (strsql, scid);if (lstm.isEmpty () response. sendRedirect (ShoppingcartFindAll ? prompt= + scid);return ;strsql =select p.price * sc.num * cc.discount from shopping- cart as sc, product as p, customer as c , customercategory as cc + where sc.id =

15、 ? and sc.pid = p.id and sc.cid = c.id and cc.id = c.ccid ;lstm = DbUtil.findline (strsql, scid);money += Float.parseFloat (lstm.get (0) .toString () ;strsql =select max (id) from book;lstres = DbUtil.executeQuery (strsql);int maxid;if (lstres = null | lstres.get (0) = null | lstres.get (0) .get (0)

16、 = = null)conn.close (); catch (Exception e) e.printStackTrace ();带参数的查询的封装public static ArrayListexecuteQuery (String strsql, ArrayListlstp) (ArrayListlstres = new ArrayList () ; try (int i =0;Connection conn = getConnection ();PreparedStatementpstmt= conn.prepareStatement (strsql) ; /使用参数值数组 lstp,

17、循环绑定 sql命令中“?”对应的值/注意:“? ”序号从1开始,数组下标开始,所以第一个参数是i+1,而不是iif (lstp ! = null) for (i =0; ilstp.size () ; i+) pstmt.setect (i+1, lstp.get (i);ResultSetrs = pstmt.executeQuery ();ResultSetMetaDatarsmd = rs.getMetaData ();int cc = rsmd.getColumnCount ();while (rs.next () ArrayListlstline = new ArrayList (

18、);for(i =0; i cc; i+ )lstline.add (rs.getect (i+1);lstres.add (lstline);rs.close ();pstmt.close ();conn.close (); catch (Exception e) (e.printStackTrace ();return Istres;2)添加订单实现:添加订单时,自动计算折扣价,累加积分,更新库存。public void doPost (HttpServletRequest request, HttpServle- tResponse response)throws ServletExce

19、ption, IOException (String strscids = request.getParameterValues (chksc);if (strscids ! = null) (float money =0;String strsql =;ArrayListlstm = new ArrayList ();ArrayListlstres = new ArrayList () ; for (String strscid : strscids) ( int scid = Integer.parseInt (strscid);strsql =select * from shopping

20、cart as sc, product as p, pro- ductbase as pb + where sc.id = ? and sc.pid = p.id and p.id = pb.pid and sc.num= pb.num ;lstm = DbUtil.findline (strsql, scid);if (Istm.isEmpty () response. sendRedirect (ShoppingcartFindAll ? prompt= + scid);return ;strsql =select p.price * sc.num * cc.discount from s

21、hopping? cart as sc, product as p, customer as c, customercategory as cc + where sc.id = ? and sc.pid = p.id and sc.cid = c.id and cc.id = c.ccid ;lstm = DbUtil.findline (strsql, scid);money += Float.parseFloat (lstm.get (0) .toString () ;strsql =select max (id) from book;lstres = DbUtil.executeQuery (strsql);int maxid;if (lstres = null | lstres.get (0) = null | lstres.get (0) .get (0) = = null)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号