伙伴云客服论坛»论坛 S区 S客户管理 查看内容

0 评论

0 收藏

分享

《数据库系统原理》课程设计:超市订单管理系统

《数据库原理》课程设计:超市订单管理系统

《数据库原理》课程设计任务书

一、数据库原理课程设计的任务

1)通过本课程设计的训练,使学生掌握数据库技术的实际应用以及数据库信息管理系统的设计方法与开发过程;初步掌握数据库需求分析方法,掌握概要设计、逻辑设计和物理设计的步骤和技巧,理解并掌握数据库系统的整个开发过程。
2)通过课程设计,掌握数据库开发工具的使用以及综合编程调试的才干,结合数据库原理的根本理论,选用一种现代关系数据库系统,设计一个详细的信息管理系统,具备根本的数据库编程才干,为以后能停止数据库系统设计、开发与维护打下良好的根底。
3)提升工程理论才干、团队协作精神、交流与沟通才干;
4)通过规范化的实验报告,培养学生良好的文档习惯以及撰写规范文档的才干。
二、课程设计的根本内容

课设内容结合一个详细任务(课程设计题目),完成一个基于C/S或B/S形式的数据库系统的设计,主要应包括如下内容: 1.完成课题任务的需求分析、完成系统总体构造设计方案(主控功能模块、数据处置模块、统计报表模块等); 2.数据库构造的设计与实现; 3.数据库安全的设计; 4. 数据修改的设计、数据查询的设计; 5.统计与报表输出的设计;
目的与要求目的:结合数据库原理的根本理论,选用一种现代关系数据库系统,设计一个详细的信息管理系统。 要求:受学生对于所学根底和专业知识的综合应用才干及程序设计与调试才干的不同,一周时间大致分为三个阶段:需求分析;数据库设计;应用程序设计。要求提交相关软件和规范的设计说明书电子文档。要求在设计过程中树立科学的设计思想,有全局观念,培养高度的协作精神。
课设形式1、2-3人一组 2、课内10学时,课内检查,其余为课外学时。
课设考核1、现场验收并对实验内容停止发问。 2、根据设计方案、实验结果、附加功能、操作熟练水平、现场检查和回答情况及课程设计报告质量综合评定成果。
备选题目:
题目1:长途汽车信息管理系统
题目2:机票预订信息系统
题目3:酒店客房管理系统
题目4:网上书店管理系统
题目5:论坛管理信息系统
题目6:职工考勤管理系统
题目7:医院药品进销存系统
题目8:4S店汽车销售信息系统
题目9:4S店汽车颐养信息系统
题目10:网上花店信息系统
题目11:宿舍信息管理系统
题目12:教师信息管理系统
题目不限于这些,同学们也可以自由选题;
三、本课程设计的根本要求

1、设计和调试过程要规范化
需求分析:理解用户的数据需求、处置需求、安全性及完好性要求;
概念设计:通过数据笼统,设计系统概念模型,一般为E-R模型;
逻辑构造设计:设计系统的形式和外形式,对于关系模型主要是根本表和视图;
物理构造设计:设计数据的存储构造和存取方法,如索引的设计;
系统施行:组织数据入库、编制应用程序、试运行;
运行维护:系统投入运行,长期的维护工作。
2、 设计完成形式
可以停止操作演示的自己设计的数据库及应用程序。
课程设计报告一份。
3、人员分组及分工
建议以2–3人一小组,鼓励学生独立完成。
4、设计说明书要求
设计说明书应用统一纸张书写。内容包括设计任务书,所有论述、原始资料和数据、计算及构造表格等,编写顺序建议如下:
    标题页
    设计任务书
    目录
    需求分析
    数据库设计
    对本设计的简单评述、总结或领会
    参考文献
四、成果评定

课程成果评定
学生课程设计完毕后写出总结报告,对设计的内容和效果停止总结,依照学生在设计期间的表现,指导教师对每位学生写出评语和鉴定,系课程设计指导小组组织争辩,最后确定每位学生课程设计成果,课程设计成果分为优、良、中、及格和不及格五个等级。
课程设计成果为平时表现30%、设计报告50%、争辩20%。
1、评分规范
优秀:目的明确,态度端正,模范遵守学校的各项纪律。工作认真,积极主动,吃苦耐劳,能出色的完成设计所有任务。撰写了高质量的总结报告。争辩准确流利。
良好:目的明确,态度端正,能遵守学校的各项纪律,工作比较积极主动。能较好地完成设计主要任务,成果较突出,表现良好;撰写了质量比较高的课程设计报告。争辩较准确流利。
中等:目的明确,态度根本端正,能遵守学校的各项纪律,工作比较积极主动。可以完成设计主要任务,成果中等,撰写了质量一般的课程设计报告。争辩较准确流利。
及格:目的明确,态度根本端正,能遵守学校纪律,在敦促下能开展工作并完成一定的设计任务,无大的违纪违规现象;撰写了课程设计报告。通过了争辩。
不及格:实习态度不端正,不能遵守实习单位的纪律,不服从指导,自由散漫,工作消极被动,不能完成实习任务,旷课、无课程设计报告,没有通过争辩。
2、成果评定
根据上述考核内容,最后采用优(>90分)、良(80~89分)、中(70~79分)及格(60~69分)、不及格(<60分)五级记分制评定学生课程设计成果。
课程设计:超市订单管理系统

超市订单管理系统,是我在学习javaweb的时候,跟着狂神的视频做的。正好拿来做《数据库系统原理》这门课的课程设计。
项目地址https://github.com/Guo-Li-Cheng/test
跳转
实验报告
1.需求分析

超市会在日常运作的过程中,会接到许多订单,同时这些订单往往来自不同的客户。
超市也会从不同的供货商那里购置货物。
这些订单,以及超市购置的货物,需要不同的人员来停止管理。
超市的员工,也可以通过系统停止管理。
如超市经理把普通员工添加进系统。
2.系统功能设计

根据需求,smbms(Supermarket bill management system)超市订单管理系统至少应该实现以下几大功能:
    实现登陆以及账号注销功能;实现管理员账号对普通账户的管理;实现所有账号对订单的管理;实现所有账号对供给商的管理;
其中,不同的账号类型代表这个超市不同的职位。
而“管理”也应该至少包括“增删改查”。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保管下来直接上传(img-pPaZTfMw-1591864428749)(…/images/03.png)]
3.数据库设计

首先,我这里选择使用的是mysql数据库。
新建一个库smbms(Supermarket bill management system)
根据系统功能,库中需要五个表
bill 用于寄存订单信息
provider 寄存供给商信息
address 寄存供给商地址
user 用于寄存员工信息
role 用于寄存职位信息,跟user表结合可以确定每一个员工在系统中的权限
每一个表以及表中的字段如下图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保管下来直接上传(img-pEVyCZkU-1591864428751)(…/images/04.png)]
4.程序设计

4.1使用的IDE(Integrated Development Environment 集成开发环境)

IDEA 2019
《数据库系统原理》课程设计:超市订单管理系统-1.png


4.2准备工作

4.2.1新建带根项目的maven项目

new一个project
《数据库系统原理》课程设计:超市订单管理系统-2.jpg


选择maven项目
《数据库系统原理》课程设计:超市订单管理系统-3.jpg


《数据库系统原理》课程设计:超市订单管理系统-4.jpg


《数据库系统原理》课程设计:超市订单管理系统-5.jpg

《数据库系统原理》课程设计:超市订单管理系统-6.jpg


《数据库系统原理》课程设计:超市订单管理系统-7.jpg


《数据库系统原理》课程设计:超市订单管理系统-8.jpg


《数据库系统原理》课程设计:超市订单管理系统-9.jpg


在建好的根项目下new一个module
《数据库系统原理》课程设计:超市订单管理系统-10.jpg


《数据库系统原理》课程设计:超市订单管理系统-11.jpg


《数据库系统原理》课程设计:超市订单管理系统-12.jpg


《数据库系统原理》课程设计:超市订单管理系统-13.jpg


《数据库系统原理》课程设计:超市订单管理系统-14.jpg


补全项目目录
《数据库系统原理》课程设计:超市订单管理系统-15.jpg


注:为什么要使用maven

因为maven能帮我们做到以下事情:
①添加第三方jar包
在今天的JavaEE开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些jar包最简单的方法就是复制粘贴到WEB-INF/lib目录下。但是这会导致每次创建一个新的工程就需要将jar包反复复制到lib目录下,从而形成工作区中存在大量反复的文件,让我们的工程显得很臃肿。而使用Maven后每个jar包自身只在本地仓库中保管一份,需要jar包的工程只需要以坐标的方式简单的引用一下就可以了。不只极大的节约了存储空间,让项目更轻巧,更防止了反复文件太多而形成的混乱。
②处置jar包之间的依赖关系抵触的问题
jar包往往不是孤立存在的,很多jar包都需要在其他jar包的支持下才可以正常工作,我们称之为jar包之间的依赖关系。最典型的例子是:commons-fileuplOAd-1.3.jar依赖于commons-io-2.0.1.jar,假设没有IO包,FileUpload包就不能正常工作。相信很多开发着在没有使用Maven前,为处置这些包抵触而头痛。那么问题来了,你晓得你所使用的所有jar包的依赖关系吗?当你拿到一个新的从未使用过的jar包,你如何得知他需要哪些jar包的支持呢?假设不理解这个情况,导入的jar包不够,那么现有的程序将不能正常工作。再进一步,当你的项目中需要用到上百个jar包时,你还会人为的,手工的逐一确认它们依赖的其他jar包吗?这几乎是不可想象的。而引入Maven后,Maven就可以替我们自动的将当前jar包所依赖的其他所有jar包全部导入进来,无需人工参与,节约了我们大量的时间和精神。
③获取第三方jar包
JavaEE开发中需要使用到的jar包品种繁多,几乎每个jar包在其自身的官网上的获取方式都不尽相同。为了查找一个jar包找遍互联网,身心俱疲,没有经历过的人或许领会不到这种折磨。不只如此,费力心血找的jar包里有的时候并没有你需要的那个类,又或者又同名的类没有你要的方法——以不规范的方式获取的jar包也往往是不规范的。使用Maven我们可以享受到一个完全统一规范的jar包管理体系。你只需要在你的项目中以坐标的方式依赖一个jar包,Maven就会自动从中央仓库停止下载,并同时下载这个jar包所依赖的其他jar包——规范、完好、准确!一次性处置所有问题!Tips:在这里我们顺便说一下,统一的规范几乎可以说成是程序员的最高信仰。假设没有统一的规范,就意味着每个详细的技术都各自为政,需要以诸多不同的特殊的方式参与到项目中;好不容易参与进来还会和其他技术格格不入,最终受苦的是我们。而任何一个领域的统一规范都可以极大的降低程序员的工作难度,减少工作量。例如:USB接口可以外接各种设备,假设每个设备都有自己共同的接口,那么不只制造商需要维护各个接口的设计方案,使用者也需要详细理解每个设备对应的接口,无疑是非常繁琐的。
④将项目拆分成多个工程模块
随着JavaEE项目的规模越来越庞大,开发团队的规模也与日俱增。一个项目上千人的团队持续开发很多年对于JavaEE项目来说再正常不过。那么我们想象一下:几百上千的人开发的项目是同一个Web工程。那么架构师、项目经理该如何划分项目的模块、如何分工呢?这么大的项目已经不可能通过package构造来划分模块,必需将项目拆分成多个工程协同开发。多个模块工程中有的是Java工程,有的是Web工程。
4.2.2连接tomcat

《数据库系统原理》课程设计:超市订单管理系统-16.jpg


《数据库系统原理》课程设计:超市订单管理系统-17.jpg


《数据库系统原理》课程设计:超市订单管理系统-18.jpg


《数据库系统原理》课程设计:超市订单管理系统-19.jpg


《数据库系统原理》课程设计:超市订单管理系统-20.jpg


《数据库系统原理》课程设计:超市订单管理系统-21.jpg


《数据库系统原理》课程设计:超市订单管理系统-22.jpg


4.3创建数据库及表和视图以及根底数据的录入

4.3.1sql文件的编写

为了程序的可复用性,我们使用.sql文件停止数据库的创建工作
使用Notepad++停止.sql文件的编写
《数据库系统原理》课程设计:超市订单管理系统-23.jpg


代码如下:
  1. CREATEDATABASE`smbms`;USE`smbms`;DROPTABLEIFEXISTS`smbms_address`;CREATETABLE`smbms_address`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'主键ID',`contact`varchar(15)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'联络人姓名',`addressDesc`varchar(50)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'收货地址明细',`postCode`varchar(15)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'邮编',`tel`varchar(20)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'联络人电话',`createdBy`bigint(20)DEFAULTNULLCOMMENT'创建者',`creationDate`datetimeDEFAULTNULLCOMMENT'创建时间',`modifyBy`bigint(20)DEFAULTNULLCOMMENT'修改者',`modifyDate`datetimeDEFAULTNULLCOMMENT'修改时间',`userId`bigint(20)DEFAULTNULLCOMMENT'用户ID',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=7DEFAULTCHARSET=utf8 COLLATE=utf8_unicode_ci;insertinto`smbms_address`(`id`,`contact`,`addressDesc`,`postCode`,`tel`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`,`userId`)values(1,'王丽','北京市东城区东交民巷44号','100010','13678789999',1,'2016-04-13 00:00:00',NULL,NULL,1),(2,'张红丽','北京市海淀区丹棱街3号','100000','18567672312',1,'2016-04-13 00:00:00',NULL,NULL,1),(3,'任志强','北京市东城区美术馆后街23号','100021','13387906742',1,'2016-04-13 00:00:00',NULL,NULL,1),(4,'曹颖','北京市朝阳区朝阳门南大街14号','100053','13568902323',1,'2016-04-13 00:00:00',NULL,NULL,2),(5,'李慧','北京市西城区三里河路南三巷3号','100032','18032356666',1,'2016-04-13 00:00:00',NULL,NULL,3),(6,'王国强','北京市顺义区高丽营镇金马工业区18号','100061','13787882222',1,'2016-04-13 00:00:00',NULL,NULL,3);DROPTABLEIFEXISTS`smbms_bill`;CREATETABLE`smbms_bill`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'主键ID',`billCode`varchar(20)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'账单编码',`productName`varchar(20)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'商品名称',`productDesc`varchar(50)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'商品描绘',`productUnit`varchar(10)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'商品单位',`productCount`decimal(20,2)DEFAULTNULLCOMMENT'商品数量',`totalPrice`decimal(20,2)DEFAULTNULLCOMMENT'商品总额',`isPayment`int(10)DEFAULTNULLCOMMENT'是否支付(1:未支付 2:已支付)',`createdBy`bigint(20)DEFAULTNULLCOMMENT'创建者(userId)',`creationDate`datetimeDEFAULTNULLCOMMENT'创建时间',`modifyBy`bigint(20)DEFAULTNULLCOMMENT'更新者(userId)',`modifyDate`datetimeDEFAULTNULLCOMMENT'更新时间',`providerId`bigint(20)DEFAULTNULLCOMMENT'供给商ID',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=19DEFAULTCHARSET=utf8 COLLATE=utf8_unicode_ci;insertinto`smbms_bill`(`id`,`billCode`,`productName`,`productDesc`,`productUnit`,`productCount`,`totalPrice`,`isPayment`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`,`providerId`)values(2,'BILL2016_002','香皂、肥皂、药皂','日用品-皂类','块','1000.00','10000.00',2,1,'2016-03-23 04:20:40',NULL,NULL,13),(3,'BILL2016_003','大豆油','食品-食用油','斤','300.00','5890.00',2,1,'2014-12-14 13:02:03',NULL,NULL,6),(4,'BILL2016_004','橄榄油','食品-进口食用油','斤','200.00','9800.00',2,1,'2013-10-10 03:12:13',NULL,NULL,7),(5,'BILL2016_005','洗洁精','日用品-厨房清洁','瓶','500.00','7000.00',2,1,'2014-12-14 13:02:03',NULL,NULL,9),(6,'BILL2016_006','美国大杏仁','食品-坚果','袋','300.00','5000.00',2,1,'2016-04-14 06:08:09',NULL,NULL,4),(7,'BILL2016_007','沐浴液、精油','日用品-沐浴类','瓶','500.00','23000.00',1,1,'2016-07-22 10:10:22',NULL,NULL,14),(8,'BILL2016_008','不锈钢盘碗','日用品-厨房用具','个','600.00','6000.00',2,1,'2016-04-14 05:12:13',NULL,NULL,14),(9,'BILL2016_009','塑料杯','日用品-杯子','个','350.00','1750.00',2,1,'2016-02-04 11:40:20',NULL,NULL,14),(10,'BILL2016_010','豆瓣酱','食品-调料','瓶','200.00','2000.00',2,1,'2013-10-29 05:07:03',NULL,NULL,8),(11,'BILL2016_011','海之蓝','饮料-国酒','瓶','50.00','10000.00',1,1,'2016-04-14 16:16:00',NULL,NULL,1),(12,'BILL2016_012','芝华士','饮料-洋酒','瓶','20.00','6000.00',1,1,'2016-09-09 17:00:00',NULL,NULL,1),(13,'BILL2016_013','长城红葡萄酒','饮料-红酒','瓶','60.00','800.00',2,1,'2016-11-14 15:23:00',NULL,NULL,1),(14,'BILL2016_014','泰国香米','食品-大米','斤','400.00','5000.00',2,1,'2016-10-09 15:20:00',NULL,NULL,3),(15,'BILL2016_015','东北大米','食品-大米','斤','600.00','4000.00',2,1,'2016-11-14 14:00:00',NULL,NULL,3),(16,'BILL2016_016','可口可乐','饮料','瓶','2000.00','6000.00',2,1,'2012-03-27 13:03:01',NULL,NULL,2),(17,'BILL2016_017','脉动','饮料','瓶','1500.00','4500.00',2,1,'2016-05-10 12:00:00',NULL,NULL,2),(18,'BILL2016_018','哇哈哈','饮料','瓶','2000.00','4000.00',2,1,'2015-11-24 15:12:03',NULL,NULL,2);DROPTABLEIFEXISTS`smbms_provider`;CREATETABLE`smbms_provider`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'主键ID',`proCode`varchar(20)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'供给商编码',`proName`varchar(20)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'供给商名称',`proDesc`varchar(50)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'供给商详细描绘',`proContact`varchar(20)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'供给商联络人',`proPhone`varchar(20)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'联络电话',`proAddress`varchar(50)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'地址',`proFax`varchar(20)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'传真',`createdBy`bigint(20)DEFAULTNULLCOMMENT'创建者(userId)',`creationDate`datetimeDEFAULTNULLCOMMENT'创建时间',`modifyDate`datetimeDEFAULTNULLCOMMENT'更新时间',`modifyBy`bigint(20)DEFAULTNULLCOMMENT'更新者(userId)',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=16DEFAULTCHARSET=utf8 COLLATE=utf8_unicode_ci;insertinto`smbms_provider`(`id`,`proCode`,`proName`,`proDesc`,`proContact`,`proPhone`,`proAddress`,`proFax`,`createdBy`,`creationDate`,`modifyDate`,`modifyBy`)values(1,'BJ_GYS001','北京三木堂商贸有限公司','长期合作伙伴,主营产品:茅台、五粮液、郎酒、酒鬼酒、泸州老窖、赖茅酒、法国红酒等','张国强','13566667777','北京市丰台区育芳园北路','010-58858787',1,'2013-03-21 16:52:07',NULL,NULL),(2,'HB_GYS001','石家庄帅益食品贸易有限公司','长期合作伙伴,主营产品:饮料、水饮料、植物蛋白饮料、休闲食品、果汁饮料、功能饮料等','王军','13309094212','河北省石家庄新华区','0311-67738876',1,'2016-04-13 04:20:40',NULL,NULL),(3,'GZ_GYS001','深圳市泰香米业有限公司','初次合作伙伴,主营产品:良记金轮米,龙轮香米等','郑程瀚','13402013312','广东省深圳市福田区深南大道6006华丰大厦','0755-67776212',1,'2014-03-21 16:56:07',NULL,NULL),(4,'GZ_GYS002','深圳市喜来客商贸有限公司','长期合作伙伴,主营产品:坚果炒货.果脯蜜饯.天然花茶.营养豆豆.特色美食.进口食品.海味零食.肉脯肉','林妮','18599897645','广东省深圳市福龙工业区B2栋3楼西','0755-67772341',1,'2013-03-22 16:52:07',NULL,NULL),(5,'JS_GYS001','兴化佳美调味品厂','长期合作伙伴,主营产品:天然香辛料、鸡精、复合调味料','徐国洋','13754444221','江苏省兴化市林湖工业区','0523-21299098',1,'2015-11-22 16:52:07',NULL,NULL),(6,'BJ_GYS002','北京纳福尔食用油有限公司','长期合作伙伴,主营产品:山茶油、大豆油、花生油、橄榄油等','马莺','13422235678','北京市朝阳区珠江帝景1号楼','010-588634233',1,'2012-03-21 17:52:07',NULL,NULL),(7,'BJ_GYS003','北京国粮食用油有限公司','初次合作伙伴,主营产品:花生油、大豆油、小磨油等','王驰','13344441135','北京大兴青云店开发区','010-588134111',1,'2016-04-13 00:00:00',NULL,NULL),(8,'ZJ_GYS001','慈溪市广和绿色食品厂','长期合作伙伴,主营产品:豆瓣酱、黄豆酱、甜面酱,辣椒,大蒜等农产品','薛圣丹','18099953223','浙江省宁波市慈溪周巷小安村','0574-34449090',1,'2013-11-21 06:02:07',NULL,NULL),(9,'GX_GYS001','优百商贸有限公司','长期合作伙伴,主营产品:日化产品','李立国','13323566543','广西南宁市秀厢大道42-1号','0771-98861134',1,'2013-03-21 19:52:07',NULL,NULL),(10,'JS_GYS002','南京火头军信息技术有限公司','长期合作伙伴,主营产品:不锈钢厨具等','陈女士','13098992113','江苏省南京市浦口区浦口大道1号新城总部大厦A座903室','025-86223345',1,'2013-03-25 16:52:07',NULL,NULL),(11,'GZ_GYS003','广州市白云区美星五金制品厂','长期合作伙伴,主营产品:海绵床垫、坐垫、靠垫、海绵枕头、头枕等','梁天','13562276775','广州市白云区钟落潭镇福龙路20号','020-85542231',1,'2016-12-21 06:12:17',NULL,NULL),(12,'BJ_GYS004','北京隆盛日化科技','长期合作伙伴,主营产品:日化环保清洗剂,家居洗涤专卖、洗涤用品网、墙体除霉剂、墙面霉菌肃清剂等','孙欣','13689865678','北京市大兴区旧宫','010-35576786',1,'2014-11-21 12:51:11',NULL,NULL),(13,'SD_GYS001','山东豪克华光结合开展有限公司','长期合作伙伴,主营产品:洗衣皂、洗衣粉、洗衣液、洗洁精、消杀类、香皂等','吴洪转','13245468787','山东济阳济北工业区仁和街21号','0531-53362445',1,'2015-01-28 10:52:07',NULL,NULL),(14,'JS_GYS003','无锡喜源坤商行','长期合作伙伴,主营产品:日化品批销','周一清','18567674532','江苏无锡盛岸西路','0510-32274422',1,'2016-04-23 11:11:11',NULL,NULL),(15,'ZJ_GYS002','乐摆日用品厂','长期合作伙伴,主营产品:各种中、高档塑料杯,塑料乐扣水杯(密封杯)、保鲜杯(保鲜盒)、广告杯、礼品杯','王世杰','13212331567','浙江省金华市义乌市义东路','0579-34452321',1,'2016-08-22 10:01:30',NULL,NULL);DROPTABLEIFEXISTS`smbms_role`;CREATETABLE`smbms_role`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'主键ID',`roleCode`varchar(15)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'角色编码',`roleName`varchar(15)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'角色名称',`createdBy`bigint(20)DEFAULTNULLCOMMENT'创建者',`creationDate`datetimeDEFAULTNULLCOMMENT'创建时间',`modifyBy`bigint(20)DEFAULTNULLCOMMENT'修改者',`modifyDate`datetimeDEFAULTNULLCOMMENT'修改时间',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=4DEFAULTCHARSET=utf8 COLLATE=utf8_unicode_ci;insertinto`smbms_role`(`id`,`roleCode`,`roleName`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`)values(1,'SMBMS_ADMIN','系统管理员',1,'2016-04-13 00:00:00',NULL,NULL),(2,'SMBMS_MANAGER','经理',1,'2016-04-13 00:00:00',NULL,NULL),(3,'SMBMS_EMPLOYEE','普通员工',1,'2016-04-13 00:00:00',NULL,NULL);DROPTABLEIFEXISTS`smbms_user`;CREATETABLE`smbms_user`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'主键ID',`userCode`varchar(15)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'用户编码',`userName`varchar(15)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'用户名称',`userPassword`varchar(15)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'用户密码',`gender`int(10)DEFAULTNULLCOMMENT'性别(1:女、 2:男)',`birthday`dateDEFAULTNULLCOMMENT'出生日期',`phone`varchar(15)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'手机',`address`varchar(30)COLLATE utf8_unicode_ci DEFAULTNULLCOMMENT'地址',`userRole`bigint(20)DEFAULTNULLCOMMENT'用户角色(取自角色表-角色id)',`createdBy`bigint(20)DEFAULTNULLCOMMENT'创建者(userId)',`creationDate`datetimeDEFAULTNULLCOMMENT'创建时间',`modifyBy`bigint(20)DEFAULTNULLCOMMENT'更新者(userId)',`modifyDate`datetimeDEFAULTNULLCOMMENT'更新时间',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=16DEFAULTCHARSET=utf8 COLLATE=utf8_unicode_ci;insertinto`smbms_user`(`id`,`userCode`,`userName`,`userPassword`,`gender`,`birthday`,`phone`,`address`,`userRole`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`)values(1,'admin','系统管理员','1234567',1,'1983-10-10','13688889999','北京市海淀区成府路207号',1,1,'2013-03-21 16:52:07',NULL,NULL),(2,'liming','李明','0000000',2,'1983-12-10','13688884457','北京市东城区前门东大街9号',2,1,'2014-12-31 19:52:09',NULL,NULL),(5,'hanlubiao','韩路彪','0000000',2,'1984-06-05','18567542321','北京市朝阳区北辰中心12号',2,1,'2014-12-31 19:52:09',NULL,NULL),(6,'zhanghua','张华','0000000',1,'1983-06-15','13544561111','北京市海淀区学院路61号',3,1,'2013-02-11 10:51:17',NULL,NULL),(7,'wangyang','王洋','0000000',2,'1982-12-31','13444561124','北京市海淀区西二旗辉煌国际16层',3,1,'2014-06-11 19:09:07',NULL,NULL),(8,'zhaoyan','赵燕','0000000',1,'1986-03-07','18098764545','北京市海淀区回龙观小区10号楼',3,1,'2016-04-21 13:54:07',NULL,NULL),(10,'sunlei','孙磊','0000000',2,'1981-01-04','13387676765','北京市朝阳区管庄新月小区12楼',3,1,'2015-05-06 10:52:07',NULL,NULL),(11,'sunxing','孙兴','0000000',2,'1978-03-12','13367890900','北京市朝阳区建国门南大街10号',3,1,'2016-11-09 16:51:17',NULL,NULL),(12,'zhangchen','张晨','0000000',1,'1986-03-28','18098765434','朝阳区管庄路口北柏林爱乐三期13号楼',3,1,'2016-08-09 05:52:37',1,'2016-04-14 14:15:36'),(13,'dengchao','邓超','0000000',2,'1981-11-04','13689674534','北京市海淀区北航家属院10号楼',3,1,'2016-07-11 08:02:47',NULL,NULL),(14,'yangguo','杨过','0000000',2,'1980-01-01','13388886623','北京市朝阳区北苑家园茉莉园20号楼',3,1,'2015-02-01 03:52:07',NULL,NULL),(15,'zhaomin','赵敏','0000000',1,'1987-12-04','18099897657','北京市昌平区天通苑3区12号楼',2,1,'2015-09-12 12:02:12',NULL,NULL);
复制代码
4.3.2执行.sql文件,完成数据库的创建以及根底数据的录入

《数据库系统原理》课程设计:超市订单管理系统-24.jpg


4.3.3查看数据库是否创建胜利

查看数据库以及表
《数据库系统原理》课程设计:超市订单管理系统-25.jpg


如上图,数据库以及表都被胜利创建;
查询表中记录
《数据库系统原理》课程设计:超市订单管理系统-26.jpg


如图,表中没有记录。
认真观察sql文件的执行情况,可以发现是有大量报错的
《数据库系统原理》课程设计:超市订单管理系统-27.jpg


百度报错提示,找到错误原因以及处置方案:
MySQL插入中文时呈现ERROR 1406 (22001): Data too long for column ‘name’ at row 1
使用命令行方式登陆到MySQL效劳器, 建立一个数据库,数据库编码设为UTF-8。此时,假设直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 (22001): Data too long for column ‘name’ at row 1 错误。乍一看,是字段长度引起的问题,但是实际是字符编码的问题。可是尝试以下处置方法:
1、在Linux中,使用终端方式登陆MySQL效劳器,运行以下命令:
set names utf8;
该命令将终端的字符编码设为了UTF-8。尔后再插入数据库中的内容都会依照UTF-8的编码来处置。
注意:在Linux中,终端方式中直接插入中文内容,可能并不会呈现1406错误,但是这时插入的数据是依照系统的默认编码停止处置。因而对编码为UTF-8的数据库,在显示数据的地方可能会呈现乱码。
2、在Windows下,命令行窗口不支持UTF-8编码,所以使用“set names utf8;”不会到达转化中文的效果。但是这个问题还是可以处置的:
(1)使用默认编码建立数据库。这种情况下就可以直接输入中文了,但是相应的问题,就是会失去UTF-8编码的灵敏性。特别是不利于软件的国际化。
(2)放弃命令行窗口登录MySQL,使用图形化客户端。客户端工具可以MySQL的官方网站上找到。
4.4使用数据库可视化工具停止数据库的创建和根底数据的录入

4.4.1SQLyog的下载和装置

SQLyog官网地址https://sqlyog.en.softonic.com/
跳转
这里我选择了中文破解版
1、下载好压缩包,将文件解压,双击运行主应用程序,弹出语言选择框,选择“Chinese(Simplified)”简体中文语言品种,点击“ok”开端装置;

《数据库系统原理》课程设计:超市订单管理系统-28.jpg

2、弹出软件装置向导,默认点击“下一步”停止装置,在容许证协议窗口中选择“我接受协议”同意软件容许证协议,协议内容自行决定是否阅读;

《数据库系统原理》课程设计:超市订单管理系统-29.jpg

3、自定义软件装置位置,默认装置途径为“C:\Program Files\SQLyog”,点击“装置”按钮继续装置;

《数据库系统原理》课程设计:超市订单管理系统-30.jpg

4、等待装置进度完成,点击“完成”完毕装置;

《数据库系统原理》课程设计:超市订单管理系统-31.jpg


破解教程
1、装置完成后运行软件,启动时选择“简体中文”语言品种启动软件;

《数据库系统原理》课程设计:超市订单管理系统-32.jpg

2、选择完成后弹出注册窗口,我们将软件的注册码:
名称:ddooo;
证书秘钥:8d8120df-a5c3-4989-8f47-5afc79c56e7c;
逐一填到软件的注册框内,点击“注册”按钮,软件会自动检测注册信息;

《数据库系统原理》课程设计:超市订单管理系统-33.jpg

3、当呈现下图软件注册胜利的提示时,软件胜利注册激活;

《数据库系统原理》课程设计:超市订单管理系统-34.jpg


4.4.2SQLyog连接mysql

《数据库系统原理》课程设计:超市订单管理系统-35.jpg


4.4.3使用SQLyog执行sql文件完成数据库的创建以及根底数据的录入

《数据库系统原理》课程设计:超市订单管理系统-36.jpg


《数据库系统原理》课程设计:超市订单管理系统-37.jpg

执行胜利!
4.4.4查看数据库是否创建胜利

《数据库系统原理》课程设计:超市订单管理系统-38.jpg

《数据库系统原理》课程设计:超市订单管理系统-39.jpg

《数据库系统原理》课程设计:超市订单管理系统-40.jpg

《数据库系统原理》课程设计:超市订单管理系统-41.jpg

《数据库系统原理》课程设计:超市订单管理系统-42.jpg


库创建胜利!
根底数据录入胜利!
4.5idea连接mysql

为了更方便的停止代码的编写,使用idea连接mysq,直接在idea中停止数据库的查看。
idea连接mysql:
https://blog.csdn.net/weixin_43906149/article/details/106593080
跳转
4.6系统模块设计

系统应该包括以下几个模块:
    登陆修改密码用户管理订单管理供给商管理
4.7登陆,注册模块

流程示意图:
登陆:
《数据库系统原理》课程设计:超市订单管理系统-43.jpg


4.8用户管理模块

《数据库系统原理》课程设计:超市订单管理系统-44.jpg


4.9订单管理模块

《数据库系统原理》课程设计:超市订单管理系统-45.jpg


4.10用户管理模块

《数据库系统原理》课程设计:超市订单管理系统-46.jpg


5.系统实现

5.1目录构造

《数据库系统原理》课程设计:超市订单管理系统-47.jpg


5.2Dao层

Dao层又叫数据访问层
Dao : Date Access Object
通常用于操作数据库
在MVC构造的编程中访问数据库的层,用来操作数据库。
dao 层定义方法接口,然后在service层和serviceimpl层实现接口方法,从而到达操作数据库的目的。
《数据库系统原理》课程设计:超市订单管理系统-48.jpg


5.3pojo层

什么是POJO
依照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯真老式的java对象”,但大家都使用“简单java对象”来称谓它。POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。
《数据库系统原理》课程设计:超市订单管理系统-49.jpg


5.4service层

service层:
service层叫效劳层,被称为效劳,肯定是相比之下比较高层次的一层构造,相当于将几种操作封装起来。
5.5部分代码

pojo.bill.java
  1. package xin.pojo;import java.math.BigDecimal;import java.util.Date;publicclassBill{private Integer id;//id private String billCode;//账单编码 private String productName;//商品名称 private String productDesc;//商品描绘 private String productUnit;//商品单位private BigDecimal productCount;//商品数量 private BigDecimal totalPrice;//总金额private Integer isPayment;//是否支付 private Integer providerId;//供给商ID private Integer createdBy;//创建者private Date creationDate;//创建时间private Integer modifyBy;//更新者private Date modifyDate;//更新时间private String providerName;//供给商名称public String getProviderName(){return providerName;}publicvoidsetProviderName(String providerName){this.providerName = providerName;}public Integer getId(){return id;}publicvoidsetId(Integer id){this.id = id;}public String getBillCode(){return billCode;}publicvoidsetBillCode(String billCode){this.billCode = billCode;}public String getProductName(){return productName;}publicvoidsetProductName(String productName){this.productName = productName;}public String getProductDesc(){return productDesc;}publicvoidsetProductDesc(String productDesc){this.productDesc = productDesc;}public String getProductUnit(){return productUnit;}publicvoidsetProductUnit(String productUnit){this.productUnit = productUnit;}public BigDecimal getProductCount(){return productCount;}publicvoidsetProductCount(BigDecimal productCount){this.productCount = productCount;}public BigDecimal getTotalPrice(){return totalPrice;}publicvoidsetTotalPrice(BigDecimal totalPrice){this.totalPrice = totalPrice;}public Integer getIsPayment(){return isPayment;}publicvoidsetIsPayment(Integer isPayment){this.isPayment = isPayment;}public Integer getProviderId(){return providerId;}publicvoidsetProviderId(Integer providerId){this.providerId = providerId;}public Integer getCreatedBy(){return createdBy;}publicvoidsetCreatedBy(Integer createdBy){this.createdBy = createdBy;}public Date getCreationDate(){return creationDate;}publicvoidsetCreationDate(Date creationDate){this.creationDate = creationDate;}public Integer getModifyBy(){return modifyBy;}publicvoidsetModifyBy(Integer modifyBy){this.modifyBy = modifyBy;}public Date getModifyDate(){return modifyDate;}publicvoidsetModifyDate(Date modifyDate){this.modifyDate = modifyDate;}}
复制代码
dao.bill.BillDao.java
  1. package xin.dao.bill;import java.sql.Connection;import java.util.List;import xin.pojo.Bill;publicinterfaceBillDao{/**
  2.          * 增加订单
  3.          * @param connection
  4.          * @param bill
  5.          * @return
  6.          * @throws Exception
  7.          */publicintadd(Connection connection, Bill bill)throws Exception;/**
  8.          * 通过查询条件获取供给商列表-模糊查询-getBillList
  9.          * @param connection
  10.          * @param bill
  11.          * @return
  12.          * @throws Exception
  13.          */public List<Bill>getBillList(Connection connection, Bill bill)throws Exception;/**
  14.          * 通过delId删除Bill
  15.          * @param connection
  16.          * @param delId
  17.          * @return
  18.          * @throws Exception
  19.          */publicintdeleteBillById(Connection connection, String delId)throws Exception;/**
  20.          * 通过billId获取Bill
  21.          * @param connection
  22.          * @param id
  23.          * @return
  24.          * @throws Exception
  25.          */public Bill getBillById(Connection connection, String id)throws Exception;/**
  26.          * 修改订单信息
  27.          * @param connection
  28.          * @param bill
  29.          * @return
  30.          * @throws Exception
  31.          */publicintmodify(Connection connection, Bill bill)throws Exception;/**
  32.          * 根据供给商ID查询订单数量
  33.          * @param connection
  34.          * @param providerId
  35.          * @return
  36.          * @throws Exception
  37.          */publicintgetBillCountByProviderId(Connection connection, String providerId)throws Exception;}
复制代码
filter.CharacterEncoding.java
  1. package xin.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;publicclassCharacterEncodingimplementsFilter{@Overridepublicvoidinit(FilterConfig filterConfig)throws ServletException {// TODO Auto-generated method stub}@OverridepublicvoiddoFilter(ServletRequest request, ServletResponse response,
  2.                         FilterChain chain)throws IOException, ServletException {// TODO Auto-generated method stub
  3.                 request.setCharacterEncoding("UTF-8");
  4.                 response.setCharacterEncoding("UTF-8");
  5.                 chain.doFilter(request, response);}@Overridepublicvoiddestroy(){// TODO Auto-generated method stub}}
复制代码
5.6项目地址

https://github.com/Guo-Li-Cheng/test
跳转
6系统的测试

run
进入登陆界面

《数据库系统原理》课程设计:超市订单管理系统-50.jpg


输入账号密码,点击登陆按钮

《数据库系统原理》课程设计:超市订单管理系统-51.jpg


进入欢送界面

《数据库系统原理》课程设计:超市订单管理系统-52.jpg


点击左侧功能按钮,如订单管理
进入订单管理界面

《数据库系统原理》课程设计:超市订单管理系统-53.jpg


点击用户管理,进入用户管理界面

《数据库系统原理》课程设计:超市订单管理系统-54.jpg


点击添加用户按钮,停止用户的添加操作

《数据库系统原理》课程设计:超市订单管理系统-55.jpg


《数据库系统原理》课程设计:超市订单管理系统-56.jpg


返回查看用户是否添加胜利
在用户管理界面已经能看到刚添加的用户信息
《数据库系统原理》课程设计:超市订单管理系统-57.jpg


停止用户的删除操作

《数据库系统原理》课程设计:超市订单管理系统-58.jpg

《数据库系统原理》课程设计:超市订单管理系统-59.jpg


可以看到用户管理界面已经没有邓超的信息
《数据库系统原理》课程设计:超市订单管理系统-60.jpg


当然,系统还有很多功能和操作,这里就不逐个测试。

回复

举报 使用道具

相关帖子
全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

王小雅
注册会员
主题 22
回复 17
粉丝 0
|网站地图
快速回复 返回顶部 返回列表