Java语言课程设计-小型超市管理系统
小型超市收银系统的设计与实现(计算机专业)

学号毕业设计题目:小型超市收银系统的设计与实现作者届别院别专业指导教师职称完成时间摘要随着销售行业竞争日益激烈,小型超市收银系统的引入显得极其重要。
它不但可以提高进销存管理的工作效率,而且可以有效减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提高市场灵敏度,从根本上提升超市的市场竞争力。
本系统运用计算机管理信息技术,建立数据库,对超市的进销存过程进行详细的分析,实现了对超市的进货、销售和库存的科学管理。
它主要包括以下几大模块:登录模块、商品入库模块、商品销售模块、营业统计模块、商品信息模块、供应商信息模块、用户信息模块。
各模块相许独立,同时又构成统一的整体。
本文主要介绍了小型超市收银系统的环境、所用到的开发语言、功能作用、设计的方案等各方面的容,其目的在于让使用者了解此系统,使他们能更好的运用本系统,使此系统发挥出应有的作用。
另外在文中还予以指出了系统开发有待于进一步完善发展的方向。
关键词:收银系统;控件;窗体;.net平台ABSTRACTWith the increasingly fierce competition in sales industry, the introduction of small supermarket cashier system is very important. It can not only improve the working efficiency of the purchase-sell-stock management, but also can effectively reduce the blind procurement, reduce procurement cost, have the reasonable control of inventory, reduce capital that takes up and improve market sensitivity, fundamentally ascending supermarket market competitiveness.This system uses computer-information-management technology, establish the database of supermarket. With a detailed analysis of the supermarket, it achieves the functions of purchasing and the scientific management of sales and stock. It includes the following major modules: login module, storage module of goods, merchandise sales module, operating statistics module, product information module, the module supplier information, user information module. Phase allowed to independently of each module, at the same time constitute a unified whole.In this paper, a small supermarket cash register system environment, the language used in the development, function, design and other aspects of the program, which aims to allow users to understand this system so they can better use the system, so that This system play its due role. Also in the article we pointed out that the system should be with further improved development.Key words: the cashier system; Control; Form; platform目录摘要 (I)ABSTRACT (II)1 绪论 (1)1.1 研究课题的目的 (1)1.2 研究课题的意义 (2)2 需求分析 (3)2.1 可行性研究 (3)2.2 需求分析 (3)2.3 开发环境介绍 (4)3 总体设计 (7)3.1 设计思想 (7)3.2 设计原则 (7)3.3 功能模块和结构设计 (7)3.4 数据库设计 (9)4 系统实现 (16)4.1 登陆系统模块 (16)4.2 商品信息模块 (18)4.3 商品入库模块 (19)4.4 商品销售模块 (20)4.5 营业统计模块 (24)4.6 供应商模块 (25)4.7 用户信息模块 (27)5 总结 (28)参考文献 (29)致 (30)附录 (31)1 绪论随着现代科学技术的迅猛发展,人们的生活方式正发生着巨大的变化。
基于java web小型超市订单管理系统毕业设计

基于Java Web的小型超市订单管理系统是一种常见的毕业设计项目,其主要功能包括订单管理、商品管理、用户管理等模块。
下面是该项目中可能需要实现的一些详细功能:
用户管理模块:包括用户注册、登录、修改个人信息等功能,可以使用Java Servlet 和JSP技术实现。
商品管理模块:通过网页界面展示超市的商品信息,包括商品名称、价格、库存量等,并提供添加、删除、修改商品信息的功能。
可以使用Java Bean和数据库连接技术实现。
订单管理模块:包括查看历史订单、创建新订单、取消订单等功能。
可以使用Java Servlet和JSP技术实现,并与数据库进行交互。
支付功能:可以使用第三方支付平台接口实现在线支付功能。
后台管理模块:管理员可以登录后台系统,对用户、订单、商品等信息进行操作和管理。
可以使用Java Servlet和JSP技术实现,并与数据库进行交互。
基于Java Web的小型超市订单管理系统涉及到前端页面设计、后台逻辑实现、数据库设计等多个方面,需要充分考虑用户体验、安全性、可靠性等因素,并使用合适的工具和技术进行开发。
在实现过程中,还需遵循软件开发规范,保证代码的可读性和可维护性,以便日后的项目开发和维护。
逍遥超市商品销售管理系统设计方案

逍遥超市商品销售管理系统设计方案设计方案介绍:逍遥超市商品销售管理系统是一个针对逍遥超市的商品销售和库存管理的系统。
该系统旨在提高逍遥超市的商品销售效率和管理能力,实现销售数据的统计和分析,提供准确的库存管理和订单处理功能。
下面将从系统需求、系统功能、系统架构和技术实现方案等方面进行详细介绍。
一、系统需求:1. 销售管理:记录每笔销售订单的商品名称、单价、数量等信息,并生成销售报表。
2. 库存管理:准确记录商品的库存数量、进货和销售情况,及时补充库存。
3. 订单处理:对顾客下单进行确认、处理和发货操作,及时更新库存数量。
4. 数据统计:根据销售和库存数据,生成图标、报表等,帮助管理层进行决策分析。
5. 用户权限管理:根据岗位设置员工的权限,确保数据的安全性和合理性。
二、系统功能:1. 商品管理:包括商品分类、商品添加、商品修改、商品删除等功能。
2. 销售管理:包括销售录入、销售查询、销售报表生成等功能。
3. 库存管理:包括库存查询、库存补充、库存报警等功能。
4. 订单处理:包括订单确认、订单处理、订单发货等功能。
5. 数据统计:包括销售数据统计、库存数据统计等功能。
6. 用户权限管理:包括用户登录、用户权限设置、用户信息管理等功能。
三、系统架构:逍遥超市商品销售管理系统采用三层架构,包括表现层、业务逻辑层和数据访问层。
1. 表现层:用户通过界面与系统进行交互,完成各项操作。
提供友好的用户界面,方便用户操作和数据查看。
2. 业务逻辑层:负责接收用户请求,处理业务逻辑,调用数据访问层提供的接口进行数据操作,并返回处理结果。
3. 数据访问层:负责与数据库进行交互,提供增删改查等数据操作接口。
四、技术实现方案:1. 编程语言:采用Java作为开发语言,利用其跨平台性和丰富的类库。
2. 开发框架:使用Spring框架实现系统的业务逻辑和数据访问层。
利用Spring的依赖注入和面向切面编程等功能,提高系统的可扩展性和可维护性。
UML课程设计__小型超市商品信息管理系统

获取商品信息
售货员
销售商品 <<extend>>
<<include>> 更新销售信息
顾客
打印购物清单
<<include>>
计算价格
创建系统用例模型
3.库存管理员用例图
库存管理员能够通过该系统 进行如下活动:
(1)处理盘点。超市库存管理员 每天需要对超市商品信息进 行盘点。
(2)处理报销。超市库存管理员 对超市损坏商品进行报销处 理。
未入库商品
商品入库
入库商品
商品库存管理
合格
商品被销售
不合格
商品报损
创建系统动态模型
6.员工验证登录活动图
在利用系统的活动图来描述在超市信 息管理系统中的参与者如何协同工作 时,我们还可以建立相关参与者的活 动图进行说明。以下我们以员工验证 密码为例进行说明。
我们可以通过以下的方式描述员工验 证登录的活动:
特征将商品类实例化并请求该类商品 信息。 (4)商品类实例化对象加载商品信息,并 提供给管理商品界面。 (5)查询商品信息界面显示该类商品信息。 (6)统计分析员请求查询商品信息界面制 定出该类商品报表。 (7)查询商品信息界面制定该类商品报表。 (8)查询商品信息界面将该类商品报表显 示给统计分析员。
(1)超市信息管理系统能够支持售货员日常售货功能。每一个售货员通过自己的用 户名称和密码登录到售货系统中,为顾客提供服务。在售货员为顾客提供售货服 务时,售货员接收顾客购买商品,根据系统的定价计算出商品的总价,顾客付款 并接受售货员打印的货物清单,系统自动保存顾客购买商品记录。
(2)超市信息管理系统能够为超市的管理者提供管理功能。超市的管理包括库存管 理、订货管理、报表管理和售货人员管理和系统维护等。库存管理员负责超市的 库存管理;订货员负责超市的订货管理;统计分析员负责超市的统计分析管理; 系统管理员负责超市的售货人员管理和系统维护。每种管理者都通过自己的用户 名称和密码登录到各自的管理系统中。
java超市管理系统实训报告

1。
1 课程设计的目的通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。
根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。
1.2 课程设计的背景和意义1.2。
1课程设计的背景20世纪90年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。
超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。
依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。
1。
2。
2 课程设计的意义“数据库课程设计"的设计思想旨在强调学生的实际编程能力的培养与创意灵感的发挥.为此,本课程结合学科特点,除了让学生掌握数据库原理的理论知识,还增加了需求功能让学生完成,并鼓励学生的创作出个性的程序,满足客户需求,与市场的实际项目相结合。
学生对此热情高,实际收获大,效果好。
通过课堂学习和参与相关项目设计,学生对书本支持有了深刻的理解,实践性教学取得了良好效果.1。
3 课程设计环境操作系统:Windows xp开发软件:Microsoft Visual Studio 2005数据库:Microsoft SQL Server 2005第2章系统需求分析随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。
2.1 问题的提出在信息化高速发展的今天,超市商品管理的信息化管理已成为必不可缺的一部分,但是目前的大多是超市商品管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使得一套完善的、能够正常工作的商品管理系统应运而生.2。
基于JAVA超市账单管理系统毕业设计(含源文件)

毕业设计说明书题目:超市账单管理系统超市账单管理系统摘要:随着科学技术的不断发展,计算机越来越普及,随之各种软件也相应而出。
许许多多的企业也用上了相应的软件,来加快自身的发展。
由于超市行业的不断壮大,也需要一套软件来相应的软件来管理。
在这种情况下超市账单管理系统也应运而生。
超市账单管理系统主要是对超市账单、供应商、用户的简单管理。
本系统主要用java语言进行开发,mysql数据库和Eclipse开发工具;主要用的核心技术是Servlet,用来处理用户的请求和页面之间的跳转,JDBC(Java Data Base Connectivity)连接数据库实现处理与数据库的交互。
主要用的美工技术是div+css,javaScript处理页面显示效果。
本系统能更快,更方便的管理好整个工作流程中的各个模块,使工作效率达到最优化。
关键词:java;Servlet;div+css;javaScript;mysql;超市账单管理系统;Title:Supermarket Bill Management SystemAbstract: Along with the science and technology unceasing development, the computer more and more popular, with a variety of software is out. Many companies also use the corresponding software, to accelerate the development of oneself. As a result of Supermarket has grown, also need a set of software to the software to management. In this case the supermarket bill management system also emerge as the times require. Supermarket bill management system is mainly the easy management of supermarket bills, suppliers, users. This system is mainly the use of Java language development, database mysql and Eclipse development tools; the main core technology is Servlet, It used to handle user requests and jump between pages. JDBC(Java Data Base Connectivity)used to handle the interaction with the database .Mainly using artist technical is div+css,javaScript, handling page display effect. This system can be faster, more convenient management of the whole working process of each module, so that the work efficiency is optimized.Keywords: java ,Servlet,div+css,javaScript,mysql,Supermarket bill management system目录摘要 (I)Abstract (II)1 正文 (1)1.1研究背景分析 (1)1.2 超市账单管理系统的概述 (2)1.3所需软、硬件技术准备 (2)1.4可行性分析 (3)1.4.1 技术可行性 (3)1.4.2 经济可行性 (3)1.4.3 社会可行性 (3)2 需求分析 (4)2.1 需求分析的任务及主要内容 (4)2.2.1 具体业务的需求 (4)2.2 层次图 (4)2.3数据流图 (5)3 概要设计 (5)3.1 系统分析 (5)3.1.1 系统的总体分析 (6)3.2 数据库的设计与实现 (6)3.2.1 数据库系统分析 (7)3.2.2 数据库物理实现 (7)4 详细设计 (9)4.1 Servlet的详细应用 (9)4.2 特定模块的详细介绍 (9)4.2.1 登陆模块 (9)4.2.2 账单管理模块 (15)4.2.2 供应商管理模块 (21)4.2.3 用户管理模块 (26)5 系统测试 (33)结语 (34)注释 (34)参考文献 (35)致谢 (37)附录1 (38)1 正文1.1研究背景分析超级市场是以顾客自选方式经营的大型综合性零售商场,又称自选商场。
超市管理系统的设计与实现

超市管理系统的设计与实现一、引言超市作为一种常见的零售业态,其经营规模较大、商品种类繁多,管理难度较高。
为了提高超市的管理效率和服务质量,开发一个高效、可靠的超市管理系统势在必行。
本文将介绍超市管理系统的设计与实现,包括系统需求分析、系统设计、系统实现等内容。
二、系统需求分析1.功能需求分析超市管理系统应包括商品管理、库存管理、销售管理、会员管理等功能模块。
在商品管理模块中,需要实现商品的分类管理、商品信息录入、商品信息查询等功能;在库存管理模块中,需要实现库存的进货、出货、库存盘点等功能;在销售管理模块中,需要实现商品销售、交易记录查询等功能;在会员管理模块中,需要实现会员信息录入、会员等级管理、会员积分管理等功能。
2.性能需求分析3.安全性需求分析三、系统设计1.系统架构设计超市管理系统的架构可以采用B/S结构,即将系统划分为前端网页和后端服务器两部分。
前端网页负责与用户交互,提供商品查询、购物车管理、会员管理等功能;后端服务器负责处理用户请求,包括商品查询、库存管理、销售管理等功能。
2.数据库设计超市管理系统的数据库应包含商品表、库存表、销售记录表、会员表等。
商品表用于存储商品的基本信息,如商品编号、商品名称、商品价格等;库存表用于存储商品的库存信息,如商品数量、进货时间等;销售记录表用于存储商品的销售情况,如销售时间、销售数量等;会员表用于存储会员的基本信息,如会员编号、会员姓名、会员等级等。
四、系统实现1.前端实现前端网页可以使用HTML、CSS、JavaScript等技术进行开发。
通过HTML构建网页的结构,使用CSS进行页面的样式设计,利用JavaScript 实现前端页面的交互功能。
在实现商品查询功能时,可以通过JavaScript发送AJAX请求与后端服务器进行数据交互。
2.后端实现后端服务器可以使用Java、Python等后端开发语言进行实现。
可以使用Spring、Django等框架搭建后端服务器。
javva课程设计超市

javva课程设计超市一、教学目标本节课旨在让学生掌握Java编程的基本概念,包括变量、数据类型、运算符和控制语句。
学生将能够理解并运用这些概念编写简单的Java程序。
此外,学生还将培养基本的编程思维和解决问题的能力。
通过本节课的学习,学生将建立起对Java编程的初步认识,为后续深入学习打下基础。
二、教学内容本节课的教学内容主要包括以下几个部分:1.变量和数据类型:介绍Java中的基本数据类型,如整数、浮点数、字符以及布尔类型。
讲解如何声明和使用变量,以及变量的作用域和生命周期。
2.运算符:讲解Java中的算术运算符、关系运算符和逻辑运算符。
示例演示运算符的使用方法和注意事项。
3.控制语句:介绍条件语句(if-else)和循环语句(for、while、do-while)。
讲解如何使用这些控制语句来控制程序的流程。
4.编程实践:通过编写简单的Java程序,巩固所学知识,培养编程思维。
三、教学方法本节课采用讲授法、讨论法和编程实践相结合的教学方法。
首先,教师通过讲解和示例演示,为学生提供理论知识。
接着,学生通过小组讨论,加深对知识点的理解和应用。
最后,学生通过编写程序,将所学知识付诸实践,提高编程能力。
四、教学资源本节课所需教学资源包括:1.教材:《Java编程入门》2.多媒体资料:PPT课件、编程示例及视频教程3.实验设备:计算机、编程环境(如Eclipse或IntelliJ IDEA)4.网络资源:在线编程平台(如LeetCode、牛客网)五、教学评估本节课的评估方式包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与程度、提问回答以及小组讨论的表现,评估学生的学习态度和积极性。
2.作业:布置相关的编程作业,评估学生对课堂所学知识的掌握程度和应用能力。
3.考试:通过期末考试或期中考试,全面评估学生对Java编程基本概念的理解和编程能力。
评估方式应客观、公正,能够全面反映学生的学习成果。
在评估过程中,注重鼓励学生,激发他们的学习兴趣和自信心。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA语言课程设计报告题目:小型超市管理系统设计者:专业班级:学号:指导教师:2010 年12 月12 日计算机学院目录一、系统需求分析 .................................................................................................................................... - 1 -1.1系统名称: .................................................................................................................................. - 1 -1.2系统介绍: .................................................................................................................................. - 1 -1.3开发背景 ...................................................................................................................................... - 1 -1.4.系统面向的用户群体................................................................................................................... - 1 -1.5开发环境 ...................................................................................................................................... - 1 -二、系统总体设计 .................................................................................................................................... - 2 -2.1系统功能结构图........................................................................................................................... - 2 -三、系统详细设计 .................................................................................................................................... - 2 -3.1数据库实体E-R图设计 .............................................................................................................. - 2 -3.2数据库表的设计........................................................................................................................... - 4 -3.3物理设计文档............................................................................................................................... - 6 -3.4详细设计 .................................................................................................................................... - 10 -四、系统总结 .......................................................................................................................................... - 20 -五、系统设计心得体会........................................................................................................................... - 21 -六、参考文献 .......................................................................................................................................... - 21 -一、系统需求分析1.1系统名称:小型超市管理系统1.2系统介绍:界面设计简洁、友好、美观大方操作简单、快捷方便数据存储安全、可靠信息分类清晰、准确强大的查询功能、保证数据查询的灵活性提供销售排行,为管理员提供真实的数据信息提供灵活、方便的权限设置功能,使整个系统的管理分工明确对用户的输入的数据,系统进行严格的数据检验,尽可能排人为错误1.3开发背景随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。
作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必不可少的。
我国的超市在20世纪90年代初期形成,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。
随着经济的快速发展,超市的经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的发展,这样就迫切地需要引入新的管理技术。
1.4.系统面向的用户群体主要是中小型超市使用者,该消费群体具有以下特征:1超市日常管理人工化居多,工作效率较低;2超市日常交易额较小,货物流通较小,不愿花高价购进大型超市管理系统。
因此,该消费群体对产品的功能性需求并不高,只需满足前台销售系统、后台货物管理即可。
1.5开发环境Eclipse+mysql二、系统总体设计2.1系统功能结构图三、系统详细设计3.1数据库实体E-R图设计(1)图书信息实体E-R图(2)读者信息实体(3)图书借阅实体(4)多图之间的E-R图3.2数据库表的设计数据库名:limitedmarket(1)用户登录表(account)(2)用户信息表(manager)(3)商品信息表(commodity)(4)供应商表(provider)(5)销售表(sale)(6) 库存信息表(storage)(7)销售退货(returnsale)(8)入库退货(returnsale)3.3物理设计文档/*----------创建数据库----------*/本系统使用mysql数据库,首先我们在Navicat for MySQL的Host: localhost下创建数据库limitedmarket,选择数据库编码为utf8 -- UTF-8 Unicode。
或使用sql语句create database limitedmarket创建数据库。
/*----------创建基本表----------*//*创建account表*/DROP TABLE IF EXISTS `account`;CREATE TABLE `account` (`accountNumber` Integer NOT NULL auto_increment,`accountName` varchar(30) NOT NULL,`accountPassword` varchar(20) NOT NULL,`accountType` smallint(6) NOT NULL,`managerID` Integer default NULL,`accountState` smallint(6) NOT NULL,PRIMARY KEY (`accountNumber`),KEY `FK_manage` (`managerID`),CONSTRAINT `FK_manage` FOREIGN KEY (`managerID`) REFERENCES `manager` (`managerID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建manage表*/DROP TABLE IF EXISTS `manager`;CREATE TABLE `manager` (`managerID` Integer NOT NULL auto_increment,`managerName` varchar(20) NOT NULL,`managerMobilephone` varchar(15) ,`managerRegionNumber` varchar(4) ,`managerEMail` varchar(30) default NULL,`managerPhone` varchar(10) ,PRIMARY KEY (`managerID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建commodity表*/DROP TABLE IF EXISTS `commodity`;CREATE TABLE `commodity` (`commodityID` integer NOT NULL auto_increment,`providernumber` int(11) default NULL,`commodityname` varchar(45) NOT NULL,`inDate` datetime NOT NULL,`producedate` datetime NOT NULL,`inprice` float NOT NULL,`saleprice` float NOT NULL,`storagetime` int(11) NOT NULL,`downlimit` int(11) NOT NULL,`unit` varchar(8) default NULL,PRIMARY KEY (`commodityID`),KEY `FK_supply` (`providernumber`),CONSTRAINT `FK_supply` FOREIGN KEY (`providernumber`) REFERENCES `provider` (`providernumber`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建returncommodity*/DROP TABLE IF EXISTS `returncommodity`;CREATE TABLE `returncommodity` (`RCid` int unsigned NOT NULL auto_increment,`commodityname` varchar(45) NOT NULL,`commodityid` varchar(45) NOT NULL,`unit` varchar(45) NOT NULL,`price` float NOT NULL,`outdate` datetime NOT NULL,`provider` varchar(45) NOT NULL,`operator` varchar(45) NOT NULL,`number` int unsigned NOT NULL,PRIMARY KEY (`RCid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建sale表*/DROP TABLE IF EXISTS `sale`;CREATE TABLE `sale` (`commodityname` varchar(45) NOT NULL,`commodityid` int unsigned NOT NULL,`sellTime` datetime NOT NULL,`number` varchar(45) NOT NULL,`money` double NOT NULL,`operator` varchar(45) NOT NULL,`saleid` int NOT NULL auto_increment,PRIMARY KEY (`saleid`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312 PACK_KEYS=1;/*创建returnsale表*/DROP TABLE IF EXISTS `returnsale`;CREATE TABLE `returnsale` (`Rsaleid` int unsigned NOT NULL auto_increment,`commodityid` int unsigned NOT NULL,`commodityname` varchar(45) NOT NULL,`number` int unsigned NOT NULL,`money` double NOT NULL,`returnTime` datetime NOT NULL,`operator` varchar(45) NOT NULL,PRIMARY KEY (`Rsaleid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建provider表*/DROP TABLE IF EXISTS `provider`;CREATE TABLE `provider` (`providernumber` int(11) NOT NULL auto_increment, `phone` varchar(20) NOT NULL,`provideraddress` varchar(60) NOT NULL,`providername` varchar(40) NOT NULL, PRIMARY KEY (`providernumber`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建stroge表*/DROP TABLE IF EXISTS `storage`;CREATE TABLE `storage` (`storageid` int unsigned NOT NULL auto_increment, `commodityname` varchar(45) NOT NULL,`commodityid` int unsigned NOT NULL,`unit` varchar(45) NOT NULL,`price` float NOT NULL,`indate` datetime NOT NULL,`provider` varchar(45) NOT NULL,`operators` varchar(45) NOT NULL,`number` int unsigned NOT NULL,PRIMARY KEY (`storageid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8/*创建storageinfo表*/DROP TABLE IF EXISTS `storageinfo`;CREATE TABLE `storageinfo` (`commoditynumber` int unsigned NOT NULL,`accountid` int unsigned NOT NULL,`amount` int unsigned NOT NULL,`storageid` int unsigned NOT NULL auto_increment, `money` double NOT NULL,PRIMARY KEY (`storageid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;3.4详细设计(1)数据库与Eclipse的连接package dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/**** @author Administrator*/public class Connectdatabase {protected static String dbClassName = "com.mysql.jdbc.Driver";protected static String dburl="jdbc:mysql://127.0.0.1:3306/limitedmarket?user=root&password=123";static Connection con = null;static Statement stmt = null;p ublic static Connection getConnection() throws Exception{Class.forName(dbClassName);con = DriverManager.getConnection(dburl);return con;}public static Statement getStatement() throws Exception{Class.forName(dbClassName);con = DriverManager.getConnection(dburl);stmt = con.createStatement();return stmt;}}(2)主要代码stmt = con.createStatement();/*statement对象静态执行查询sql语句*/public Dao(){}public static ResultSet findForResultset(String sql){ResultSet rs = null;Statement smt;try {smt = Connectdatabase.getStatement();rs = smt.executeQuery(sql);System.out.print("sql语句已经执行!");} catch (Exception ex) {Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex);}return rs;}/*statement对象静态执行插入、删除、更新sql语句*/public static int update(String sql){int result = 0;try {Statement smt = Connectdatabase.getStatement();result = smt.executeUpdate(sql);} catch (Exception ex) {Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex);}return result;}/*指定参数的查询sql语句,动态*/public static ResultSet query(String querystr){ResultSet set = findForResultset(querystr);return set;}/*执行查询的sql语句*/public static int delete(String sql){return update(sql);}/*插入查询语句*/public static boolean insert(String sql) {boolean result = true;try {Statement stmt = Connectdatabase.getStatement();result = stmt.execute(sql);} catch (Exception e) {e.printStackTrace();}return result;}public static List findForList(String sql) {List<List> list = new ArrayList<List>();ResultSet rs = findForResultset(sql);try {ResultSetMetaData metaData = rs.getMetaData();int colCount = metaData.getColumnCount();while (rs.next()) {List<String> row = new ArrayList<String>();for (int i = 1; i <= colCount; i++) {String str = rs.getString(i);if (str != null && !str.isEmpty())str = str.trim();row.add(str);}list.add(row);}} catch (Exception e) {e.printStackTrace();}return list;}//用户登录方法public static Account getUser(String username,String password) {Account account = new Account();ResultSet rs = findForResultset("select * from account where accountName = '" +username+"'");try {if (rs.next()) {account.setAccountName(username);account.setAccountPassword(rs.getString("accountPassword").trim());if (account.getAccountPassword().equals(password)) {account.setAccountName(rs.getString("accountName").trim());account.setAccountState(Integer.parseInt(rs.getString("accountstate")));account.setAccountType(Integer.parseInt(rs.getString("accounttype")));account.setManagerId(Integer.parseInt(rs.getString("managerid")));account.setAccountNumber(Integer.parseInt(rs.getString("accountnumber")));} else {account.setAccountName("null");account.setAccountPassword("null");}}} catch (Exception e) {e.printStackTrace();}return account;}// 获取用户对象的方法p ublic static Account getUser(Item item) {String where = "AccountName='" + item.getName() + "'";// if (item.getId() != null)// where = "name='" + item.getId() + "'";ResultSet rs = findForResultset("select * from account where " + where);Account account = new Account();try {if (rs.next()) {account.setAccountName(rs.getString("AccountName").trim());account.setAccountPassword(rs.getString("AccountPassword").trim());account.setAccountState(Integer.parseInt(rs.getString("AccountState").trim()));account.setAccountType(Integer.parseInt(rs.getString("AccountType").trim()));}} catch (SQLException e) {e.printStackTrace();}return account;}/*通过存储过程添加商品*/public static boolean addcommodity(Commodity com){boolean flag = true;if(com==null){return true;}try{conn = Connectdatabase.getConnection();CallableStatement callstm = conn.prepareCall("{call insertcommodity(?,?,?,?,?,?,?,?,?)}");callstm.setInt(1, com.getProvidernumber());callstm.setString(2, com.getCommodityName());callstm.setFloat(3, com.getInPrice());callstm.setFloat(4, com.getSalePrice());callstm.setInt(5, com.getStorageTime());callstm.setInt(6, com.getDownlimit());callstm.setString(7, com.getUnit());callstm.setString(8, com.getInDate());callstm.setString(9, com.getProcudeDate());callstm.execute();}catch(Exception e){flag = true;}flag = false;return flag;}// 读取商品信息p ublic static Commodity getSpInfo(Item item) {String where = "commodityname='" + item.getName() + "'";if (item.getId() != null)where = "commodityID='" + item.getId() + "'";ResultSet rs = findForResultset("select * from commodity where "+ where);Commodity spInfo = new Commodity();try {if (rs.next()) {spInfo.setCommodityId(Integer.parseInt(rs.getString(1)));spInfo.setCommodityName(rs.getString(3));spInfo.setProvidernumber(Integer.parseInt(rs.getString(2)));spInfo.setInDate(rs.getString(4));spInfo.setProcudeDate(rs.getString(5));spInfo.setInPrice(Float.parseFloat(rs.getString(6)));spInfo.setSalePrice(Float.parseFloat(rs.getString(7)));spInfo.setStorageTime(Integer.parseInt(rs.getString(8)));spInfo.setDownlimit(Integer.parseInt(rs.getString(9)));spInfo.setUnit(rs.getString(10));}} catch (SQLException e) {e.printStackTrace();}return spInfo;}//修改商品信息// 获取所有商品信息p ublic static List getSpInfos() {List list = findForList("select * from commodity");return list;}p ublic static List getComInfo(int id) {List list = findForList("select * from commodity where CommodityID='"+ id + "'");return list;}/*添加供应商信息*/public static int updatecommodity(Commodity com){int flag = 1;try{conn = Connectdatabase.getConnection();CallableStatement st = conn.prepareCall("{call updatecommodity(?,?,?,?,?,?,?,?,?,?)}");st.setInt(1, com.getProvidernumber());st.setString(2, com.getCommodityName());st.setFloat(3, com.getInPrice());st.setFloat(4, com.getSalePrice());st.setInt(5, com.getStorageTime());st.setInt(6, com.getDownlimit());st.setString(7, com.getUnit());st.setString(8, com.getInDate());st.setString(9, com.getProcudeDate());st.setInt(10, com.getCommodityId());st.execute();}catch(Exception e){flag = 0;}return flag;}public static boolean addProvider(Provider pro){boolean flag = true;if(pro == null){return false;}return insert("insert into provider (providername, provideraddress, phone) values('"+ pro.getProviderName()+ "','"+ pro.getProviderAddress()+ "','"+ pro.getPhone() + "')");}// 读取所有供应商信息p ublic static List getGysInfos() {List list = findForList("select * from provider");return list;}// 读取指定供应商信息p ublic static Provider getGysInfo(Item item) {String where = "providername='" + item.getName() + "'";if (item.getId() != null)where = "providernumber='" + item.getId() + "'";Provider p = new Provider();ResultSet set = findForResultset("select * from provider where "+ where);try {if (set.next()) {p.setProviderNumber(Integer.parseInt(set.getString(1)));p.setProviderAddress(set.getString(3));p.setPhone(set.getString(2));p.setProviderName(set.getString(4));}} catch (SQLException e) {e.printStackTrace();}return p;}// 修改供应商信息的方法p ublic static int updateGys(Provider p) {return update("update provider set providername = '"+ p.getProviderName() + "', provideraddress='"+ p.getProviderAddress() + "',phone='" + p.getPhone()+ "'where providernumber ='" + p.getProviderNumber() + "'");}//将商品信息入库public static boolean RuKuInfo(StorageInfo s){try{conn = Connectdatabase.getConnection();CallableStatement csmt = conn.prepareCall("{call ruku(?,?,?,?,?,?,?,?)}");csmt.setString(1, s.getCommodityname());csmt.setInt(2, s.getCommodityid());csmt.setString(3, s.getUnit());csmt.setFloat(4, s.getPrice());csmt.setString(5, s.getIndate());csmt.setString(6, s.getProvider());csmt.setString(7, s.getOperator());csmt.setInt(8, s.getNumber());csmt.execute();}catch(Exception e){e.printStackTrace();}return false;}//库存信息public static boolean RuKu(Storage s) {@SuppressWarnings("unused")int total, num;boolean flag = true;try {conn = Connectdatabase.getConnection();CallableStatement csmt = conn.prepareCall("{call storageQuery(?)}");csmt.setInt(1, s.getCommoditynumber());ResultSet rs = csmt.executeQuery();if (rs.next()) {num = Integer.parseInt(rs.getString(3));num = num + s.getAmount();csmt = conn.prepareCall("{call storageupdate(?,?)}");csmt.setInt(1, num);csmt.setInt(2, s.getCommoditynumber());csmt.execute();flag = false;} else {csmt = conn.prepareCall("{call insertstorageinfo(?,?,?,?)}");csmt.setInt(2, s.getAccountid());csmt.setInt(1, s.getCommoditynumber());csmt.setInt(3, s.getAmount());csmt.setDouble(4, s.getMoney());csmt.execute();flag = false;}} catch (Exception e) {}return flag;}}四、系统总结总体来说,本次项目在规定期间顺利完成。