付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计课程名称Java语言课程设计题目名称超市治理系统的设计与实现学生学院应用数学学院专业班级信息与计算科学1班学号学生姓名指导教师2021年10月24日超市治理系统的设计与实现1系统设计内容随着小超市规模的开展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长.超市时时刻刻都需要对商品各种信息进行统计分析.而大型的超市治理系统功能过于强大而造成操作繁琐降低了小超市的工作效率.超市治理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:系统登陆、商品入库、商品查询、商品更改和删除等.从而,实现对进货、销售及员工信息等实现全面、动态、及时的治理.本文系统的分析了软件开发的背景以过程;首先介绍了软件的开发环境,其次介绍了本软件的详细设计过程:数据库的设计、各个模块的设计和实现,以及具体界面的设计和功能.超市库存治理系统是基于Java作为开发工具,Mysql作为后台数据库支持.超市库存管理系统开发主要是界面程序的开发、数据库的建立、数据库的维护.应用程序功能完善,界面人机交互要好,而且操作简单.同时JAVA语言简单,在较短的时间内能够开发出使用性强、功能完善,易于操作的程序,也能实现与数据库的连接.通过以上的需求分析,初步确定该系统功能主要包括以下几个模块:.系统登录.商品入库治理〔包括商品信息治理〕.商品销售治理.用户治理与权限治理系统流程图输入错误重新
2.1密码用户注jOVa?Swin迪呼信息数据库加孥修确定登录删存存l?Us个人信查询库存er2.1密码用户注jOVa?Swin迪呼信息数据库加孥修确定登录删存存l?Us个人信查询库存er?商erface概述?改删结添子之间改GUI个信,可莉品“息数i库按销售员登录页P密码修钮通过旧形用户界面(Graphfc以方便的进行交互Java?AJavappjcati的javon±S±a.awt?门进行(AGadoW?Toolkit)?包中硼pN霸中类和接口,Va?Swing是Java?FoUndation?ClaSses(J用于在二0的一JaVa应用程序用户界面的开发工H电在Swing中,Sun#发了一个?Swing增强了AWT^组件的功能,经过仔细设计的、灵活而强大的?GUI?X具包.?它以抽象窗口工具包(AWT为根底使跨平台应用程序可以使用任何可插拔的外观风格.Swing开发人?Swing增强了AWT^组件的功能,丰富、灵活的功能和模块化组件来创立优雅的用户界面.这引起增强的组件命名通常是在AWT组件名前增加了一个“J〞字母;同时也提供了更多的组件库,如:按钮(JButton?)、单项选择按钮(JRadioButton?)、复选框(JCheckBox?)、文本区(JTextArea)、文本字段(JTextField)、列表(JList?)、组合框(JComboBox?、树(JTree)、表格(JTable).一个Java?GUI通常由顶层容器、中间容器以及多个原子组件组成.每个原子组件或容器都可能触发相应事件的产生.容器是一类能够在其中容纳其他组件的特殊组件.Swing的GUI组件类是根据类属层次以树状结构进行组织的.在这个树的最顶层,即树的根部,使一个最根本的容器类,被称为顶层容器.Swing?提供了三个通用的顶层容器类JFrame,JDialog和JApplet.JFrame提供了基于窗体的应用程序,JDialog提供对话框形式的界面,JApplet提供Java小应用程序的界面形式.在顶层容器下是中间容器,用于容纳其他的组件.通常窗格本身在显示界面中是看不到的.面板类Panel是一种中间容器,它的唯一作用是使组件更容易定位.顶层容器通过getContentPane()方法获取内部的一个内容窗格.?2.2使用JDBC-ODBCMySQ数据库建立连接1、在开发环境中加载指定数据库的驱动程序.2、在Java程序中加载驱动程序.在Java程序中,可以通过?“Class.forName("指定数据库的驱动程序")〞方式来加载添加到开发环境中的驱动程序,例如加载MySQL勺数据驱动程序的代码为:?Class.forName("org.gjt3、创立数据连接对象:通过DriverManager类创立数据库连接对象Connection.DriverManager类作用于Java程序和JDBCS区动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getConnection方法,根据数据库的URL用户名和密码,创建——个JDBCConnection对象.如:Connectionconnection=?DriverManager.geiConnection(“连接数据库的URL","用户名",“密码〞).本程序创建MySQL勺数据库连接代码如下:Stringusername="root";Stringpassword="root";connect=DriverManager.getConnection(url,username,password);4、创立Statement对象:Statement类的主要是用于执行静态SQL语句并返回它所生成结果的对象.通过Connection对象的createStatement()方法可以创立一个Statement对象.例如:Statementstatament=connection.createStatement();?本程序仓建Statement对象代码如下:Statementstat=connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);?5、调用Statement对象的相关方法执行相对应的SQL语句:通过execuUpdate()方法用来数据的更新,包括插入和删除等操作,通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据彳T的指针.通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出.如果当next()方法返回null,那么表示下一行中没有数据存在.使用例如代码如下:ResultSetresultSel=statement.executeQuery(?""select*fromcommodity";"?);6、关闭数据库连接:使用完数据库或者不需要访问数据库时,通过Connection的close()?方法及时关闭数据连接.商品数据项的描述:数据项名数据类型长度说明numbervachar50商口□编pCNamevachar50冏品名称suppliervachar50冏品供给商PAreavachar50商品生产地unitvachar50商品单位shelfFifevachar50商品规格pricefloat50商品价格packvachar50商品包装fullNumberfloat50商品数量治理人员和销售人员数据想描述:(其中1、2分别表示治理员、销售员权限)uservachar50用户名passwordvachar50密码powervachar50权限3功能模块详细设计及实现系统登录页面统登录模块需要治理员和销售员提供的用户名、初始密码和权限进行登录验证,如果成功那么进入系统,否那么提示无法登录并返回登录一面.运行如图治理员登录页面治理员身份登录成功进入治理员登陆界面.其中包括模块进货治理、查看所有人员、用户注册、密码修改、个人信息修改.治理员登陆页面运行截图进货治理功能是通过系统中的publicvoidallRecord(){}方法查询数据库commodity显示超市仓库中所有商品.但是在这里涉及一个类型转化问题、由于在数据库的设计中商品的数量和价格都是float类型.在所有商品价格方面直接利用数据库中的第七列和第九列的数据相乘.即sum+=rSet.getFloat(7)*rSet.getFloat(9);但是在页面中合计金额需要显示的是一个string类型的,而这里的sum是一个float类型变量,那么就需要用一个类型准换语句,并将该值传入文本框.语句分别为StringcString=newFloat(sum).toString();minventoryJFrame.getTotalJTextField().setText(cString);运行截图删除按钮的设计是通过查找商品编号进行删除.如果没有对应的商品那么通过JOptionPane.showMessageDialog(null,"库存中没有对应的商品","删除记录",1)语句提示库存中没有对应的商品、否那么通过查询数据库并执行以下语句删除对应的库存品.Stringsql="deletefromcommoditywherenumber='"+minventoryJFrame.getJTable().getValueAt(row,0)+"〞';stat.executeUpdate(sql);allRecord();JOptionPane.showMessageDialog(null,"成功删除记录","删除记录",1);添加页面设计需要对数据类型和对输入文本框是否有空值进行检测,如果不合法那么通过JOptionPane.showMessageDialog(this,"请确认数据类型和是否有空值!")给出提示.否那么通过执行以下语句并提示添加商品成功信息.Stringsql="INSERTINTOcommodity(number,CName,supplier,PArea,unit,shelfFife,price,pack,fullNumber)"+"VALUES('"+Number.getText()+"','"+CName.getText()+"','"+Supplier.getText()+"','"+PArea.getText()+"','"+unit.getText()+"','"+ShelfFife.getText()+"','"+Float.parseFloat(Price.getText())+"','"+Pack.getText()+"','"+Float.parseFloat(FullNumber.getText())+"')";stmt.executeUpdate(sql);JOptionPane.showMessageDialog(this,〞商品添加成功!");运行截图人员治理模块可以查看所有人员直接通过以下语句Stringsql="select*fromuserinfo";获取数据库中的所有人员.运行截图删除人员那么是通过选中人员所对应的行进行删除.实现语句为:Stringsql="DELETEFROMuserinfoWHEREuser='"+cellValue+皿;用户注册需要先查询数据库中的用户名和密码,如果都存在那么提示该用户已经存在.不存在那么可以通过以下语句注册新员工Stringstr="INSERTINTOuserinfoVALUES('"+User+"','"+Password+"','"+power+"','"+personneID+"','"+SEX+"','"+Birthday+"','"+Job+"','"+Id+"')";密码修改那么即更新数据库.通过以下语句可以实现Stringsql="UPDATEuserinfoSETpassword='"+String.valueOf(newPassword.getPassword())+〞'WHEREuser='"+cook.user+"〞';用户信息修改也是一个更新数据库的操作,通过以下代码可以实现:Stringstr="UPDATEuserinfoSETsex='"+SEX+"',birthday='"+Birthday+"',job='"+Job+"',ID='"+Id+"'WHEREuser='"+cook.user+"〞';stmt.executeUpdate(str);治理员登录页面销售人员身份登录成功进入销售人员登陆页面.其中包括商品的销售、结账页面、其中个人信息修改和密码修改和治理员的相似.销售页面通过输入商品的编号和数量、在通过查询数据库中对应的商品名称和数量,如果没有对用的商品那么通过语句JOptionPane.showMessageDialog(this,"对不起,暂时没有这件商品,请联系治理员添加!");提示没有商品,如果商品数量不够那么通过语句JOptionPane.showMessageDialog(this,"对不起,此商品库存仅剩"+rs.getFloat("fullNumber"));给出销售人员销售数量超出库存量的提示信息.但是在添加商品时本系统是利用数据库查询,再通过一个数组利用编号和数量进行保存的.由于如果直接利用从库存数据库中查询再添加到一个销售数据库中是直接将库存数据库中的所有商品都添加到了销售数据库表中.实现的语句为for(inti=0;i<rows;i++){Name[i]=String.valueOf(tableModel.getValueAt(i,0));Q[i]=Float.parseFloat(String.valueOf(tableModel.getValueAt(i,8)));}while(rs.next()){for(inti=0;i<rows;i++){Stringname=rs.getString("number");if(name.equals(Name[i])){Q[i]=rs.getFloat("fullNumber")-Q[i];Stringsql="UPDATEcommoditySETfullNumber=〞'+Q[i]+"'WHEREnumber='"+name+"〞';stmt1.executeUpdate(sql);}}通过上述语句可以添加销售商品,在通过点击确认销售按钮时通过语句intn=JOptionPane.showConfirmDialog(null,"确认出售列表中货物(共计:"+acount+"元)?");销售商品删除按钮是通过鼠标选中需要删除的行进行删除.执行语句为:if(myTable.getSelectedRow()!=-1){introw1=myTable.getSelectedRow();tableModel.removeRow(row1);}else{JOptionPane.showMessageDialog(this,〞请选中要删除的信息再点击删除!");}}运行截图4结论通过此次的论文,我学到了很多知识,,在论文的写作过程中,通过查资料和搜集有关的文献,培养了自学水平和编程水平.并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破.我们可能会记住很多的书本知识,但是通过课程设计,我们学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题.次超市库存治理系统课程设计,让我充分运用自己所学的知识,让我明白只有单纯的理论知识是远远不够的,只有通过实际的锻炼才能更好的运用所掌握的根底知识,才能在原有的根底上提升自己的水平,提升自己解决问题的水平.在这短短的一个星期内,查阅有关的java学习资料和数据库,设计的规那么,代码的编写及到最后的调试.在设计过程中,通过对控件事件的处理,界面的布局,代码的调试,充分锻炼了自己的思维,获得了充分的实际经验,提升了处理问题的水平,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程总承包业务管理制度
- 市场策划部工作制度
- 干部寝室考核制度
- 幼儿园核酸抽检工作制度
- 幼儿园财会人员管理制度
- 广州酒家收银制度规范
- 康复科管理工作制度
- 建立筹办工作制度
- 建筑设计院工作制度汇编
- 成本费用内部控制制度
- 2025年滨州市中考地理真题(含标准答案)
- 雨课堂在线学堂《大学生安全之消防大讲堂》单元考核测试答案
- 2025年华能电厂申论真题及答案
- 仿真设计类答辩
- 2025年中国铁路西安局招聘高校毕业生第二批(102人)笔试参考题库附带答案详解
- 消化系统疾病预防护理
- 模型39 波的叠加与干涉类综合问题(解析版)-2025版高考物理热点模型精-品讲义
- 膨体聚四氟乙烯and全氟磺酸质子交换膜
- 低钠病人的护理
- T-CECS120-2021套接紧定式钢导管施工及验收规程
- 输油管道初步设计-本科毕业论文
评论
0/150
提交评论