赞
踩
摘 要 I
Abstract II
引 言 1
1 项目概述 3
1.1 选题背景 3
1.1.1 社会发展背景 3
1.1.2 需求发展背景 3
1.1.3 经济发展背景 3
1.2 研究目的与意义 3
1.3 国内外现状和发展趋势 3
1.3.1 国内外发展现状 3
1.3.2 国内外发展趋势 4
1.4 本章小结 4
2 技术简介 5
2.1 开发语言 5
2.1.1 JAVA 5
2.1.2 JavaScript 5
2.1.3 JSP 5
2.2 前后台框架和技术 5
2.2.1 Bootstrap框架 5
2.2.2 Ajax 5
2.2.3 Spring框架 5
2.2.4 SpringMVC框架 6
2.2.5 Mybatis框架 6
2.3 数据库 6
2.4 B/S架构 6
2.5 本章小结 6
3 系统分析 7
3.1 系统可行性分析 7
3.1.1 市场可行性分析 7
3.1.2 技术可行性分析 7
3.1.3 经济可行性分析 7
3.2 系统需求分析 7
3.3 系统功能结构分析 7
3.4 本章小结 8
4 系统设计 9
4.1 系统设计目的 9
4.2 系统功能描述 9
4.3 系统功能模块设计 9
4.4 数据库设计 10
4.5 本章小结 18
5 系统的实现 19
5.1 数据库连接 19
5.2 模块实现 19
5.2.1 登录模块 19
5.2.2 注册模块 21
5.2.3 忘记密码 23
5.2.4 员工信息管理功能 24
5.2.5 效益分析功能 25
5.3 本章小结 26
6 系统测试 27
6.1 登录测试 27
6.2 注册测试 28
6.3 员工管理测试 29
6.4 本章小结 30
结 论 31
致 谢 32
参考文献 33
科技在发展,社会在进步,互联网以及计算机技术被推到了风口浪尖。作为发展中国家,在这场无硝烟的信息时代的战争里,农场管理遇到了前所未有的机遇和挑战。中国是农业大国,社会的稳定与农业的稳定发展,农产品及副产品的可获得性密切相关,这与逐步提高人们生活水平的基本趋势相适应。我国农场管理现状繁杂,农田权属在于农民,集中统一管理困难,同时,各项收支统计有难度。因此高效、快捷的农场管理系统对提高我国农场的工作效率与服务水平不可缺少。
本课题拟设计的农场管理系统是为了改变传统的农场作业方式,提高农场管理的信息化水平而设计的。我们使用的开发环境为Eclipse,通过用Java语言来编写该农场管理系统,其主要包括前端和后台的开发与后台数据库的创建与维护。其中主要使用H5和CSS3进行前台界面的设计,后台主要使用SSM框架技术进行框架的搭建,管理数据选用MySQL进行制作数据库。农场管理系统将计算机技术和数字化应用与农业生产相结合,充分利用计算机技术的优化配置作用,使农场管理趋于系统化、结构化、产业化,对农业生产、经济发展以及国家对农业管理制度的完善具有巨大的促进作用。
关键词:农场管理系统;SSM框架;Java
Abstract
Technology is evolving, society is advancing, and the Internet as well as computer technology is being pushed to the windswept edge. As a developing country, farm management faces unprecedented opportunities and challenges in this war in the smoke-free information age. As a large agricultural country, the stability of society is closely linked to the stable development of agriculture and the availability of agricultural products and by-products, which is in line with the basic trend of gradually improving people's living standards. At present, the situation of farm management in China is more complex. The ownership of farm land is in the hands of farmers, so it is difficult to centralize and unify the management. At the same time, it is difficult to count the income and expenditure. Therefore, in order to improve the working efficiency and service level of farms in China, efficient and efficient farm management system is essential.
The farm management system proposed in this project is designed to change the traditional farm operation methods and improve the information level of farm management. We use the development environment for Eclipse, through the java language to write the farm management system, its main back-end database creation and maintenance and front-end and back-end development. The front-end of the system mainly uses H5 and CSS3 for the design of the front-end interface, and the back-end mainly uses SSM framework technology for the framework construction, management data selection MySQL for database production. The farm management system combines computer technology and digital applications with agricultural production, making full use of the optimal configuration of computer technology, so that farm management tends to be systematic, structured and industrialized, which has a great role in promoting agricultural production, economic development and the improvement of the country's agricultural management system.
Keywords: farm management system; SSM framework; java
随着网络技术的发展,互联网在全球范围内得到了广泛的应用,而我们的社会也在向信息化社会发展,信息系统所起的作用也是愈来愈大。中国历史悠久,同时它也是一个农业大国,农业在促进经济发展的过程中起到了很大的作用。在21世纪,中国进入了重要的时期,要走中国特色农业现代化和信息化的道路。
在我国,生产力水平在不断提高,同时小农生产的局限性也慢慢的显现出来,比如耕地不集中,比较零散,生产工具比较落后和增产速度慢等,这些问题不可避免的成为农业现代化发展的障碍。小农生产文化层次和技术水平较低,经营范围单一和管理不完善是制约农业发展的主要原因[1]。小农生产收支落差大,收不供支,这一缺陷使得以科技技术管理的生产方式不断得到重视,而传统的人力劳动管理方式被淘汰,这样就能以低人力资本和资金投入来获取高利润,形成集约化生产模式。
当前,我国正在处于一个转变时期,就是从人力管理(传统)农业向数字化管理(现代)农业的转变。传统农业依靠人力管理,成本高,收益低。而数字化现代农业利用信息技术,提高了其经营管理水平,降低农资的消耗,降低生产成本,并提高农场收益。
本文的主要工作就是为了满足一些农场主的需求,其中本文具体的描述了该系统的功能有哪些,从项目背景到技术,从分析到设计再到实现,最后再到系统的测试等一系列的操作,能够让用户清楚地了解到本系统从选题到完成再到使用的全过程。
在完成该项目的过程中我们需要掌握前端H5的知识和Eclipse开发环境,掌握SSM框架是如何搭建的,掌握JavaScript技术,以及我们需要了解数据库是如何搭建的。
本文第1章是做项目的前提,主要描述项目的研究背景、目的与意义。 第2章主要是讲在该系统中主要使用到的技术,阐述了它们的优缺点以及它们的特点。
第3章主要是阐述对系统的分析,包括市场、技术和经济可行性分析,以及对系统的需求分析。
第4章主要针对系统的设计进行说明,其中包括系统功能与数据库表的设计。
第5部分是对系统如何实现进行阐述,其中包括数据库的实现以及主要功能的实现,并对实现后的界面进行截图和主要代码的描写。
第6部分主要是对系统进行测试,并不是对整个系统进行测试,而是随机选取了几个模块进行测试,其中包括了登陆模块的测试和注册模块的测试以及员工管理模块的测试。
目前现代农场管理水平和产能的提高与SSM农场管理系统的出现密不可分。同时,农场管理模式也在其的影响下发生了翻天覆地的转变,其未来价值不可估量。
1.1 选题背景
1.1.1 社会发展背景
经过20多年时间的发展,农场在全国范围内快速地发展起来,它有助于提高城乡居民生活水平,满足他们户外游憩、回归自然的良好愿望[2]。2004年,为了推动全国农业旅游的发展,国家旅游局对全国农业旅游示范点进行了评选,其中共选出203个农业旅游示范点[3]。
1.1.2 需求发展背景
在体验经济时代,现在的旅行者已经逐渐不再满足传统意义上的观光旅游,而是把精神体验作为旅行的终极目标追求精神体验。据不完全的统计,外国观光旅游在旅游总体所占比例不到百分之三十,而休闲特色旅游则占到70%以上[4]。
1.1.3 经济发展背景
随着人们生活水平的提高以及文化水平成都的上升,娱乐至上的生活方式深入人心,人们生活中的娱乐方式较之从前也有了很大的改变。根据国家统计数据表明,2010年我国的人均GDP已经突破了4000美元[5],人们的消费方式组件向娱乐方向倾斜。生活结构层次形成多样化。
1.2 研究目的与意义
我国是农业大国,而不是农业强国。社会的稳定离不开农业的稳定发展以及与人们生活水平相适应的农、副产品的提供。将数字化管理与农场管理结合,使互联网的管理优势在农业生产管理中得以充分体现。加速我国从传统农业到现代信息化农业发展方向转变。
1.3 国内外现状和发展趋势
1.3.1 国内外发展现状
(1)国外发展状况
法国在1953年的时候成立了法国农民协会,并在1988年成立了“农业及旅游接待服务处”[6]。法国现代农场出台众多有关农业发展的政策,加大农场旅游的宣传,大力支持农民农业生产与旅游文化结合的各种项目。
以1865年意大利成立的“农业与旅游协会”为例,将城市与乡村结合。意大利现代农场最明显的特点就是将政府的干预机制和市场经济相结合起来共同发展乡村旅游。
日本的农业在很早之前就发展起来了,各个地区的农业经营者纷纷成立了协会,各个地区的农场以独特的方式结合了生产。在日本农场还有各式各样、稀奇古怪的农用机械的农具展览馆,参观者可以通过这些了解农业的发展历程和学习农机的相关知识。
(2)国内发展状况
农场投资期长,回本慢。经营方式落后。内部运营机制不成熟。没有制定长远规划。政府在农场的发展中存在越位或者缺位行为[7]。农业基础建设方面薄弱,人才资源不足明显。
1.3.2 国内外发展趋势
⑴ 国内发展趋势
中国的农场积极并且有条理地执行土地承包责任制,扩大农场生产管理规模,合理使用土地资源实现生产最大化。或者出租部分农场的可发挥土地进行经营,建立收购农副产品的市场,并直接将农户与农场的经济利益联系起来,从而调动农户的积极性[9],这样可以提高农场的工作效率和农业市场的综合竞争力。
⑵ 国外发展趋势
以西方发达国家为代表的现代农业在已有的基础上获得了新的更大的发展,它明显的呈现出五个主要趋势[10]:生产的高科技化、结构的高级化、产品的高加工化、经营的一体化、发展的可持续化。
1.4 本章小结
本章主要讲述了我国农业的发展历程,讨论了我国农业经营方式存在的不足之处。介绍了当前法国,意大利,日本在农场方面的发展情况,阐述了在农业现代化和信息化的背景下,我国从传统化农业转为现代农业的必要性,以及农场管理系统被提出的重要性。中国迫切需要类似的管理系统提升农业软实力。
2.1 开发语言
2.1.1 JAVA
Java是一种软件开发技术框架,它简单、安全可靠,具有最广泛的应用领域和软件开发市场[11]。
2.1.2 JavaScript
JavaScript语言是一种解释性编程语言,源代码在发送给客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行[12]。
2.1.3 JSP
JSP可以生成简单的页面,与java平台密不可分,并且硬件平台和服务器联系不大,具有较强的拓展性和高效性,以及它可以进行隐含处理[13]。
2.2 前后台框架和技术
2.2.1 Bootstrap框架
Bootstrap是一个基于HTML、CSS和JavaScript 开发的前端开发框架,能不断适应web技术的发展[14]。它比较成熟,拥有完善的文档,使用起来比较的方便。它还提供了非常丰富的组件与插件,并能接受定制[15]。
2.2.2 Ajax
Ajax是一种web开发技术,无需重新加载整个网页,通过向服务器端发出异步请求,然后使用DOM更新由DIV标记的网页中的内容[16],在前端页面和后端服务器之间实现少量数据交换,它允许部分页面更新,而无需刷新整个页面[17],这意味着它可以部分更新。大大改善了用户体验。
2.2.3 Spring框架
SSM框架集由开源框架Spring和MyBatis整合而成。它包括表示层、控制层、服务层和数据访问层[18]。
Spring是一个开源框架,是21世纪初开发首批框架之一,但是随着时间的推移,出现了其他具有很多种优势的框架,但是Spring框架的流行仍然持续到2018年[19]。更重要的是,Spring是非侵入式的,基于Spring系统应用中代码没有太多的依赖[20]。另一点是,它的分层架构也是Spring被广泛应用的原因,它不限于服务器端的开发。
2.2.4 SpringMVC框架
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面[21]。可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架进行web开发。
2.2.5 Mybatis框架
作为一款突出的持久层框架,MyBatis的操作是以一个实例为中心来运行的。MyBatis与每个实体类的Mapper文件联系的桥梁是配置文件,Mapper文件配置每个类所需SQL语句映射到数据库。按照sqlSessionFactory实例获取sqlSession,而后再执行sql命令的顺序与数据库交互。
2.3 数据库
MySQL是一种关系型数据库管理系统,使用结构化查询语言进行数据库管理[22]。它的优点在于服务比较稳定,并且代码是开源的,体积相对比较小,安装方便,最重要的是它支持多种的操作系统。
2.4 B/S架构
B/S架构即浏览器/服务器结构[23]。它将功能的实现主要放在了服务端,而在客户端只需一个WEB服务器即可,客户端通过前端请求WEB服务器,再通过WEB服务器调用数据库服务器来完成数据的传输以及功能的实现[24]。B/S架构图如下图2.1所示。
图2.1 B/S架构图
2.5 本章小结
本章主要讲述了本文所提管理系统的核心技术,其中包括Spring、SpringMVC、MyBatis、Ajax、JSP、MySQL,从开发语言到框架再到数据库都有详细地讲述。阐述了它们的特点。
3.1 系统可行性分析
3.1.1 市场可行性分析
我国在世界的地位不断上升,经济飞速发展,人民对提高生活质量以及精神文化水平迫切需求,生活方式也大大改观,由以前的艰难出行变为现在随时可以有一场说走就走的旅行。人们对传统的旅游的兴趣也随之不断下降。再加上时间成本和经济成本逐渐增加,人们越来越更加倾向于在周末旅游或短途旅行。
3.1.2 技术可行性分析
该系统主要采用java技术和mysql数据库设计,包括二十多个的数据表,并对SSM框架进行搭建。整个系统以网站的形式体现,前台界面通过Hbuilder进行绘制,其中涉及HTML、CSS、JQuery、JavaScript技术。通过ECharts将数据可视化。
3.1.3 经济可行性分析
经济可行性分析主要是为了保证项目的顺利进行,首先对项目的经济可行性进行分析,可以在编写系统的时候对所需的费用进行一个大概的预测,从而避免在制作系统的过程中产生不必要的麻烦。对经济进行可行性分析主要是对所需软件和硬件设备进行详细的分析,而本系统所需要的硬件就是一台i5以上的电脑,内存8G以上,而软件主要是使用Eclipse,HBuilder和MySQL。软硬件设备都已经具备,因此所需的资金投入并不是很大。
3.2 系统需求分析
随着互联网的迅速发展,网络已经深深地影响到人们的生活,人们越来越喜欢依赖网络来满足自己的需求。另外,传统的农场管理已经不能满足现在一部分人的需要,而利用网络的农场管理,可以为农场主提供各项服务,能够更快更精准的管理农场,因此深受人们的喜爱。
3.3 系统功能结构分析
根据农场管理系统的实际需求,可以将农场管理系统划分为员工管理、统计分析、农资管理、效益分析、和土地管理等模块。功能结构如下图3.1所示:
图3.1 农场管理系统功能结构图
3.4 本章小结
本章节主要讲述了在编写后台代码之前对系统进行的一个分析,其中不只是有对需求上的分析,还有对系统的可行性以及技术,市场和经济的可行性的分析,通过对系统的全面分析,可以确定是否能将系统进行代码的编写,系统能否在可行性的基础上进行实行。
4.1 系统设计目的
该管理系统的目标是实现农场主对农场的一个管理,可以为农场提供员工管理、统计分析、农资管理、效益分析、和土地管理等服务。能够更快更精准的管理农场。
4.2 系统功能描述
第一部分首先是对农场员工的基本信息的一个管理,农场主进入系统可以对员工基本信息进行增删改查的操作,当农场有人员的变动时,农场主可以及时的对员工信息进行相应的操作。第二,可以对农资进行法管理,在农资管理模块中,农场生产资料的采购,使用等,让库存数量更加的清晰透明,方便管理者的查看,让生产更加的高效。第三是土地管理模块,我们可以通过对土地的管理,将农场的土资源进行合理的规划。让农场管理人员无论何时何地都能及时的管理农场,跟进生产进度。第四是统计分析,统计分析模块可以查询某种农作物或者植物的生产数据,财务数据等,其中包括某种农作物或者植物的种植面积,种植的数量,收获的数量等数据,为管理者提供数据支持。第五是效益分析,通过管理者查询某种农作物或者植物近几年的数据,可以计算得出农作物或者植物在近几年收获效益的变化,生成的折线图可以更加的简单明确,让管理者无论何时何地都可以将农场一览无余。
4.3 系统功能模块设计
1)、员工管理模块:在对农场人员的管理中,我们首先需要对农场员工的基本信息进行管理,其中的基本信息大概有姓名、性别、电话号码,家庭地址之类的。并且农场主可以通过查询农事记录表来查看员工的工作状态,根据反映出来的结果可以作为员工的绩效考核得依据,让农场主对农场的管理更加的简便清晰。
2)、统计分析模块:统计分析模块可以查询某种农作物或者植物的生产数据,财务数据等,其中包括某种农作物或者植物的种植面积,种植的数量,收获的数量等数据,为管理者提供数据支持。
3)、农资管理模块:农场生产资料的采购,使用等,让库存数量更加的清晰透明,方便管理者的查看,让生产更加的高效。
4)、效益的分析:通过管理者查询某种农作物或者植物近几年的数据,可以计算得出农作物或者植物在近几年收获效益的变化,生成的折线图可以更加的简单明确,让管理者无论何时何地都可以将农场一览无余。
5)、土地管理模块:我们可以通过对土地的管理,将农场的土资源进行合理的规划。
4.4 数据库设计
数据库是管理和存放相关数据的仓库[25],我们经常听到的数据库有很多,例如Oracle,MySQL,SqlServer,postgreSQL等,在该系统中所用的数据库为MySQL Workbench 6.3。在本系统中总共用到了20张表,整体如下表4.1:
表4.1 总体表
表名
CROPS 解释
植物信息表
ATTENDANCE 员工出勤记录表
ENVIRONMENT 环境表
WORKRECORD 农事记录表
FERTILZER 肥料表
PLANT 种植表
HARVEST 收成表
LOCATION 土地使用
ORDER 订单表
LOGINS 登录表
MATERIAL 材料表
BENEFIT 利润
WOEKTYPE 工作类型
CROPSTYPE 植物种类
PRODUCE 人均产出表
ITEMS 商品表
SALARY 工资表
STAFF 员工信息表
STOCK 库存表
PURCHASE 进货表
ER图也称实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
ER图作用主要体现在十点:描述现实世界关系概念模型的有效方法。表示概念关系模型的一种方式。用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆图框”表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;用“菱形框”表示实体型之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实体型连接起来,同时在”实心线段“旁标上联系的类型。本系统的ER 图如下图4.2所示
图4.2 系统ER图
下面对主要的几个表进行描述:
1.利润表主要是对管理农场所得的利润,其中主要字段有月份,肥料,材料,植物,收获,购买,收入以及利润。如表4.3所示。
表4.3 利润表
是否主键 字段名 字段描述 数据类型 长度 可空
是 MOUTH 月份 VARCHAR(45) 45
FERTILIZER 肥料 INT(11) 11 是
MATERIAL 材料 INT(11) 11 是
PLANT 植物 INT(11) 11 是
HARVEST 收获 INT(11) 11 是
PURCHASE 购买 INT(11) 11 是
INCOME 收入 INT(11) 11 是
AGRICULTURALCOL2 agriculturalcol2 VARCHAR(45) 45 是
AGRICULTURALCOL2 agriculturalcol2 VARCHAR(45) 45 是
AGRICULTURALCOL3 agriculturalcol3 VARCHAR(45) 45 是
2.员工出勤表主要是记录员工的出勤情况,其中主要字段有id值,员工id,日期,地址,以及员工出勤天数。如表4.4所示。
表4.4 员工出勤记录表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11) 11
STAFFID 员工id INT(11) 11 是
DATE 日期 VARCHAR(45) 45 是
LOCATION 地址 VARCHAR(45) 45 是
DUTYDAY 出勤天数 INT(11) 11 是
ATTENDANCE
COL attendancecol VARCHAR(45) 45 是
ATTENDANCE
COL1 attendancecol1 VARCHAR(45) 45 是
ATTENDANCE
COL2 attendancecol2 VARCHAR(45) 45 是
ATTENDANCE
COL3 attendancecol3 VARCHAR(45) 45 是
ATTENDANCE
COL4 attendancecol4 VARCHAR(45) 45 是
3.环境表主要是对农场周围环境值的监测,其中主要字段有天气,卫生环境以及气候等,如表4.5所示。
表4.5 环境表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11)
WEATHER 天气 VARCHAR(45) 45 是
HYGIENE 卫生环境 VARCHAR(45) 45 是
CLIMATE 气候 VARCHAR(45) 45 是
ENVIRONMENTMONITORCOL environmentmonitorcol VARCHAR(45) 45 是
ENVIRONMENTMONITORCOL1 Environmentmonitorcol1 VARCHAR(45) 45 是
ENVIRONMENTMONITORCOL2 Environmentmonitorcol2 VARCHAR(45) 45 是
ENVIRONMENTMONITORCOL3 Environmentmonitorcol3 VARCHAR(45) 45 是
4.农事记录表主要记录农事的员工,工作类型,日期以及工作的地点,如下表4.6所示。
表4.6 农事记录表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11) 11
STAFFID 员工ID INT(11) 11 是
WORKTYPE 工作类型 VARCHAR(45) 45 是
(表4.6 续表)
DATE 日期 VARCHAR(45) 45 是
LOCATION 工作地点 VARCHAR(45) 45 是
FARMWORKCOL farmworkcol VARCHAR(45) 45 是
FARMWORKCOL1 farmworkcol1 VARCHAR(45) 45 是
FARMWORKCOL2 farmworkcol2 VARCHAR(45) 45 是
FARMWORKCOL3 farmworkcol3 VARCHAR(45) 45 是
FARMWORKCOL4 Farmworkcol4 VARCHAR(45) 45 是
5.肥料表主要是记录肥料的名称,肥料的总量以及肥料的剩余量,如表4.7所示。
表4.7 肥料表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11) 11
NAME 肥料名称 INT(11) 11 是
TOTAL 总量 INT(11) 11 是
RESIDUE 剩余量 INT(11) 11 是
FERTILIZER
COL fertilizercol VARCHAR(45) 45 是
FERTILIZER
COL1 fertilizercol1 VARCHAR(45) 45 是
FERTILIZER
COL2 fertilizercol2 VARCHAR(45) 45 是
FERTILIZER
COL3 fertilizercol3 VARCHAR(45) 45 是
6.订单表主要是记录农作物id,数量,日期以及它的状态,如表4.8所示。
表4.8 订单表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11) 11
CID 农作物id INT(11) 11 是
QUANTITY 数量 INT(11) 11 是
DATE 日期 VARCHAR(45) 45 是
STATUS 状态 VARCHAR(45) 45 是
FINANCECOL financecol VARCHAR(45) 45 是
FINANCECOL2 financecol2 VARCHAR(45) 45 是
FINANCECOL3 financecol3 VARCHAR(45) 45 是
FINANCECOL4 financecol4 VARCHAR(45) 45 是
7.收成表主要是记录土地某种植物的收成,其中字段包括农作物id,收割日期和产量等,如表4.9所示。
表4.9 收成表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11) 11
(表4.9 续表)
CID 植物id INT(11) 11 是
DATE 收割日期 VARCHAR(45) 45 是
QUANTITY 产量 VARCHAR(45) 45 是
HARVESTCOL harvestcol VARCHAR(45) 45 是
HARVESTCOL1 harvestcol1 VARCHAR(45) 45 是
HARVESTCOL2 harvestcol2 VARCHAR(45) 45 是
HARVESTCOL3 harvestcol3 VARCHAR(45) 45 是
HARVESTCOL4 harvestcol4 VARCHAR(45) 45 是
8.土地使用表主要记录土地的名称,亩数,以及使用的情况,如表4.10所示。
表4.10 土地使用表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11) 11
LOCATION 土地名称 VARCHAR(45) 45 是
AREA 亩数 INT(11) 11 是
STATUS 使用情况 VARCHAR(45) 45 是
LANDCOL landcol VARCHAR(45) 45 是
LANDCOL1 landcol1 VARCHAR(45) 45 是
LANDCOL2 landcol2 VARCHAR(45) 45 是
LANDCOL3 landcol3 VARCHAR(45) 45 是
LANDCOL3 landcol3 VARCHAR(45) 45 是
9.工作类型表。如表4.11所示。
表4.11工作类型表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11) 11
WORKTYPE 工作类型 VARCHAR(45) 45
LOGINLOGSCOL loginlogscol VARCHAR(45) 45 是
LOGINLOGSCOL1 loginlogscol1 VARCHAR(45) 45 是
LOGINLOGSCOL2 loginlogscol2 VARCHAR(45) 45 是
LOGINLOGSCOL3 loginlogscol3 VARCHAR(45) 45 是
10.登录表主要是记录登录名称,密码,登录时间,登录ip,如表4.12所示。
表4.12 登录表
是否主键 字段名 字段描述 数据类型 长度 可空
是 LOGINID loginid INT(11) 11
LOGINNAME loginname VARCHAR(45) 45
PASSWORD password VARCHAR(45) 45
LOGINTIME logintime DATETIME
LOGINIP loginip VARCHAR(45) 45
(表4.12 续表)
LOGINSCOL loginscol VARCHAR(45) 45 是
LOGINSCOL1 loginscol1 VARCHAR(45) 45 是
LOGINSCOL2 loginscol2 VARCHAR(45) 45 是
LOGINSCOL3 loginscol3 VARCHAR(45) 45 是
11.材料表主要是记录所需材料的情况,其中有名称,总量以及剩余量,如表4.13所示。
表4.13 材料表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11) 11
NAME 名称 VARCHAR(45) 45
TOTAL 总量 INT(11) 11
RESIDUE 剩余 INT(11) 11
MODIFYPASSWORDL
OGSCOL modifypasswordlogscol VARCHAR(45) 45 是
MODIFYPASSWORDL
OGSCOL1 modifypasswordlogscol1 VARCHAR(45) 45 是
MODIFYPASSWORDL
OGSCOL2 modifypasswordlogscol2 VARCHAR(45) 45 是
MODIFYPASSWORDL
OGSCOL3 modifypasswordlogscol3 VARCHAR(45) 45 是
MODIFYPASSWORDL
OGSCOL4 modifypasswordlogscol4 VARCHAR(45) 45 是
12.商品表,如表4.14所示。
表4.14 商品表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11) 11
NAME 名称 VARCHAR(45) 45 是
QUANTITY 数量 INT(11) 11 是
UNITPRICE 单价 INT(11) 11 是
STATUS 状态 VARCHAR(45) 45 是
PACKINGCOL1 Packingcol1 VARCHAR(45) 45 是
PACKINGCOL2 Packingcol2 VARCHAR(45) 45.
是
PACKINGCOL3 packingcol3 VARCHAR(45) 45 是
13.植物信息表主要记录植物的名称,进货数量,产量,亩数以及它的单价,如表4.15所示。
表4.15 植物信息表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID ID INT(11) 11
CROPSNAME 名称 VARCHAR(45) 45
(表4.15 续表)
PROFIT 每颗收益 INT(11) 11
CROPSTIME 种植时间 INT(11) 11
TYPE 植物类型 VARCHAR(45) 45
PLANTCOL plantcol VARCHAR(45) 45 是
PLANTCOL1 plantcol1 VARCHAR(45) 45 是
PLANTCOL2 plantcol2 VARCHAR(45) 45 是
PLANTCOL3 plantcol3 VARCHAR(45) 45 是
PLANTCOL4 plantcol4 VARCHAR(45) 45 是
14.植物种类表主要记录的是植物的分类,如下表4.16所示。
表4.16 植物种类表
是否主键 字段名 字段描述 数据类型 长度 可空
Id ID INT(11) 11
TYPENAME 类型 VARCHAR(45) 45 是
FERTILIZER 肥料 VARCHAR(45) 45 是
FERTILIZERNEED 肥料名称 VARCHAR(45) 45 是
AREA 面积 INT(11) 11 是
PLANTKINDCOL plantkindcol VARCHAR(45) 45 是
PLANTKINDCOL1 plantkindcol1 VARCHAR(45) 45 是
PLANTKINDCOL2 plantkindcol2 VARCHAR(45) 45 是
15.人均产出表主要是记录每个人的平均产出量,其中主要字段包括是员工id,植物id,总产量以及日期,如表4.17所示。
表4.17 人均产出表
是否主键 字段名 字段描述 数据类型 长度 可空
是 STAFFID 员工id INT(11) 11
CID 植物id INT(11) 11 是
PRODUCE 产量 INT(11) 11 是
DATE 日期 VARCHAR(45) 45 是
PRODUCECOL producecol VARCHAR(45) 45 是
PRODUCECOL1 producecol1 VARCHAR(45) 45 是
PRODUCECOL2 producecol2 VARCHAR(45) 45 是
PRODUCECOL3 producecol3 VARCHAR(45) 45 是
PRODUCECOL4 producecol4 VARCHAR(45) 45 是
PRODUCECOL5 producecol5 VARCHAR(45) 45 是
16.种植表,如表4.18所示
表4.18 风险评估表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID ID INT(11) 11
IID 菜地ID INT(11) 11 是
CNAME 名称 VARCHAR(45) 45 是
(表4.18 续表)
CPROFIT 利润 VARCHAR(45) 45 是
QUANTITY 数量 VARCHAR(45) 45 是
TOTAL 合计 VARCHAR(45) 45 是
TIME 时长 VARCHAR(45) 45 是
STATUS 状态 VARCHAR(45) 45 是
YEAR 年份 VARCHAR(45) 45 是
PLANTCOL Plantcol VARCHAR(45) 45 是
PLANTCOL1 Plantcol1 VARCHAR(45) 45 是
PLANTCOL2 Plantcol2 VARCHAR(45) 45 是
PLANTCOL3 Plantcol3 VARCHAR(45) 45 是
17.工资表主要是记录员工的id,基本工资,奖金,绩效以及日期,如表4.19所示。
表4.19工资表
是否主键 字段名 字段描述 数据类型 长度 可空
是 STAFFID sid INT(11) 11
SALARY 基本工资 INT(11) 11 是
BONUS 奖金 INT(11) 11 是
ACHIEVEMENTS 绩效 VARCHAR(45) 45 是
MOUTH 日期 VARCHAR(45) 45 是
SALARYCOL salarycol VARCHAR(45) 45 是
SALARYCOL1 salarycol1 VARCHAR(45) 45 是
SALARYCOL2 salarycol2 VARCHAR(45) 45 是
SALARYCOL3 salarycol3 VARCHAR(45) 45 是
SALARYCOL4 Salarycol4 VARCHAR(45) 45 是
18.员工信息表里面是员工的基本信息,其中有十个信息字段,有三个备用字段。如表4.20所示。
表4.20 员工信息表
是否主键 字段名 字段描述 数据类型 长度 可空
是 STAFFID staffid INT(11) 11
STAFFNAME staffname VARCHAR(45) 45
GENDER gender VARCHAR(45) 45
EMAIL email VARCHAR(45) 45
PHONENUMBER phonenumber VARCHAR(45) 45
AGE age INT(11) 11
DEPARTMENTNAME departmentname VARCHAR(45) 45
IDNUMBER idnumber INT(11) 11
LOGINTIME address VARCHAR(45) 45
ENTRYDATE 入职日期 DATETIME
STAFFCOL staffcol VARCHAR(45) 45 是
STAFFCOL1 staffcol1 VARCHAR(45) 45 是
19.库存表主要是记录仓库中货物的剩余量,如表4.21所示。
表4.21 库存表
是否主键 字段名 字段描述 数据类型 长度 可空
是 CID Id INT(11) 11
STOCK 库存 INT(11) 11 是
SOLD sold INT(11) 11 是
STOCKCOL stockcol VARCHAR(45) 45 是
STOCKCOL1 stockcol1 VARCHAR(45) 45 是
STOCKCOL2 stockcol2 VARCHAR(45) 45 是
STOCKCOL3 stockcol3 VARCHAR(45) 45 是
STOCKCOL4 stockcol4 VARCHAR(45) 45 是
20. 进货表主要是对物品id,库存数量,进货数量,物品单价,进货状态,以及日期进行记录,如表4.22所示。
表4.22 进货表
是否主键 字段名 字段描述 数据类型 长度 可空
是 ID Id INT(11) 11
CID 物品id INT(11) 11 是
STOCK 库存 INT(11) 11 是
QUANTITY 进货数量 INT(11) 11 是
UNITPRICE 单价 VARCHAR(45) 45 是
STATUS 状态 VARCHAR(45) 45 是
DATE 日期 VARCHAR(45) 45 是
STOCKGOODSCOL stockgoodscol VARCHAR(45) 45 是
STOCKGOODSCOL1 stockgoodscol1 VARCHAR(45) 45 是
STOCKGOODSCOL2 stockgoodscol2 VARCHAR(45) 45 是
STOCKGOODSCOL3 stockgoodscol3 VARCHAR(45) 45 是
STOCKGOODSCOL4 Stockgoodscol4 VARCHAR(45) 45 是
4.5 本章小结
本节主要讲述的是该农场管理系统的设计,首先通过讲述整个系统的设计目标主要就是为了使农场主能够更快更精准的管理农场,然后是进行系统上的功能的设计,主要包括员工管理、统计分析、农资管理、效益分析、和土地管理等服务。
5.1 数据库连接
在做任何项目之前,我们都需要用数据库来存储数据,在SSM项目中,数据库主要在两个文件中进行连接,一个是文件generator.xml,一个是文件dbconfig.properties。实现数据库连接的代码如下所示:
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/farm
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.user=root
jdbc.password=123456
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/farm"
userId="root"
password="123456">
</jdbcConnection>
5.2 模块实现
5.2.1 登录模块
打开系统进入登录页面,而后需要进行一个身份验证,第一次登录时需进行新用户注册。而后登录时只需进行验证用户名和密码。登陆成功进行下一步的操作。登录失败返回登录界面。登录模块流程图如下图5.1所示。
图5.1 登录功能流程图
登录界面如下图5.2所示:
图5.2 登录界面
登录功能主要代码:
@RequestMapping(value=“/userlogin”,method=RequestMethod.POST)
@ResponseBody
public Msg Login(Logins logins,Model model) {
LoginsExample loginsExample = new LoginsExample();
LoginsExample.Criteria criteria = loginsExample.createCriteria();
criteria.andLoginnameEqualTo(logins.getLoginname());
List login = loginsService.getLoginName(loginsExample);
Logins newlogins = new Logins();
for (int i = 0; i < login.size(); i++) {
newlogins = (Logins)login.get(i);
}
if(logins.getPassword().equals(newlogins.getPassword())){
newlogins.setLogintime(new Date());
loginsService.updateLogins(newlogins);
return Msg.success();
}else{
return Msg.fail();
}
}
@RequestMapping(value=“/login”,method=RequestMethod.POST)
@ResponseBody
public Msg Login(Logins logins) {
LoginsExample loginsExample = new LoginsExample();
LoginsExample.Criteria criteria = loginsExample.createCriteria();
criteria.andLoginnameEqualTo(logins.getLoginname());
List login = loginsService.getLoginName(loginsExample);
Logins newlogins = new Logins();
for (int i = 0; i < login.size(); i++) {
newlogins = (Logins)login.get(i);
}
if(logins.getPassword().equals(newlogins.getPassword())){
newlogins.setLogintime(new Date());
loginsService.updateLogins(newlogins);
return Msg.success();
}else{
return Msg.fail();
}
}
5.2.2 注册模块
系统打开首先是登录界面,新用户需要通过注册才能登录系统进入主界面,用户输入符合要求的账号、密码并确认密码后点击注册按钮方能完成注册。该功能流程图如下图5.3所示。
图5.3 注册功能流程图
注册界面如下图5.4所示:
图5.4 注册功能
注册功能主要代码:
@RequestMapping(value=“/addlogin”,method=RequestMethod.POST)
@ResponseBody
public Msg AddLogin(Logins logins,Model model) {
String loginip = request.getRemoteAddr();
logins.setLoginip(loginip);
logins.setLogintime(new Date());
int num = loginsService.insertLogins(logins);
if(num!=0){
return Msg.success();
}else{
return Msg.fail();
}
}
@RequestMapping(value=“/register”)
@ResponseBody
public Msg register(Logins logins) {
String loginip = request.getRemoteAddr();
logins.setLoginip(loginip);
logins.setLogintime(new Date());
System.out.println(logins.getLoginname());
List list = loginsService.selectByname(logins.getLoginname());
if (list!=null&&list.size()>0) return new Msg(200,“用户名重复!”);
int num = loginsService.insertLogins(logins);
if(num!=0){
return Msg.success();
}else{
return Msg.fail();
}
}
5.2.3 忘记密码
当用户忘记密码时,需要通过忘记密码来重新设置密码,当进入忘记密码页面后,输入正确的用户名,邮箱和电话号码,即可重新设置新的密码,如果用户名,电话号码,或者邮箱,有一项不正确,密码就不能重新设置。该功能流程图如下图5.5所示。
图5.5 忘记密码流程图
忘记密码界面如下图5.6所示:
图5.6 忘记密码
注册功能主要代码:
@RequestMapping(value=“/forget”)
@ResponseBody
public Msg forget(Logins logins) {
String loginip = request.getRemoteAddr();
List info = loginsService.selectByInfo(logins);
if (info==null || info.size()==0) {
return new Msg(200,“用户名、邮箱、手机号 错误!”);
}
logins.setLoginid(info.get(0).getLoginid());
loginsService.updateLogins(logins);
return Msg.success();
}
5.2.4 员工信息管理功能
在成功登录之后来到主界面,首先我们可以看到员工管理的模块,在员工管理模块中有员工信息管理功能,主要是对员工的信息进行增删改查的操作,其中主要包括用户id,姓名,用户名,密码,性别,邮箱,手机号等个人信息。员工信息管理界面如下图5.7所示。
图5.7 员工信息管理功能
功能主要代码:
@Controller
public class StaffController {
@Autowired
StaffService staffService;
}
@RequestMapping(value=“/staffadd”,method=RequestMethod.POST)
@ResponseBody
public Msg staffadd(Staff staff){
staff.setEntrydate(new Date());
Map<String, Object> map = new HashMap<String, Object>();
map.put(“username”, staff.getUsername());
map.put(“email”, staff.getEmail());
map.put(“idnumber”, staff.getIdnumber());
map.put(“phonenumber”, staff.getPhonenumber());
List list = staffService.getAll(map);
System.out.println(list.size());
if(list!=null && list.size()>0) {
Msg fail = Msg.fail();
fail.setMsg(“员工用户名或手机号或邮箱或身份证号信息重复!”);
return fail;
}
staffService.saveMember(staff);
return Msg.success();
}
@RequestMapping(“/staff”)
@ResponseBody
public Msg getMemberWithJson(
@RequestParam(value=“rowoffset”,defaultValue=“1”)Integer rowoffset){
List member = staffService.getAll(null);
return Msg.success().add(“data”,member);
}
@RequestMapping(“/staffupdate”)
@ResponseBody
public Msg staffupdate(Staff staff){
staffService.updatestaff(staff);
return Msg.success();
}
@RequestMapping(“/staffdelete”)
@ResponseBody
public Msg staffdelete(Integer id){
staffService.deleteMember(id);
return Msg.success();
}
}
5.2.5 效益分析功能
效益分析使用Echarts进行图表的绘制,Echarts就是一个纯JavaScript图表库。可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。效益分析主要是对肥料的使用量,每个月农作物的种植数量和收割数量的变化,每个月进货和交易的胡亮的变化以折线图的形式展现出来,而每个月物资的使用量的总和则是以柱状图的形式展示。图表分析界面如下图5.8所示。
图5.8 效益分析功能
功能主要代码:
var lineChart = echarts.init(document.getElementById(“echarts-line-chart”));
var lineoption = {
title : {
text: ‘各月肥料使用量趋势’
},
tooltip : {
trigger: ‘axis’
},
legend: {
data:[‘使用量’]
},
grid:{
x:40,
x2:40,
y2:24
},
calculable : true,
xAxis : [
{
type : ‘category’,
boundaryGap : false,
data : result.extend.data.month
}
],
5.3 本章小结
本章节主要阐述的是对整个系统的实现,通过实现几个功能,对功能的实现效果图进行截取,将系统实现的效果如实的反映出来,并且通过截取核心代码,将项目的实现过程简单的体现出来。
本系统的测试部分并不是将系统所有部分全部进行测试,而是选取几个具有代表性的模块进行系统测试,其中对系统的测试随机抽取了登录,注册,员工管理三部分。
6.1 登录测试
登录模块测试一种是当输入的账号密码均正确时进行的测试,另一种是当输入的账号密码有一个不正确时进行的测试。登录测试如下表6.1所示,测试结果如下图6.2所示。
表6.1 登录测试
编号 操作 输入数据 预期结果 实际结果
6.1-1 将用户名和密码都准确无误的输入,然后进行登录 账号:aaaaaa
密码:123456 登录成功 登录成功后进入主界面
6.1-2 将用户名准确无误的输入,输入的密码错误,然后进行登录 账号:aaaaaa
密码:123456 登录失败 登录失败,提示处理失败
6.1-3 将密码准确无误的输入,输入的用户名错误,然后进行登录 账号:bbbbbb
密码:123456 登录失败 登录失败,提示处理失败
6.1-4 将密码和用户名都输入错误,然后进行登录 账号:bbbbbb
密码:654321 登录失败 登录失败,提示处理失败
图6.2 登录测试结果
测试的结果是当用户名和密码都准确无误的被输入之后,才能登录成功然后进入主界面,反之,当用户名和密码有一项输入不正确则登录失败。
6.2 注册测试
测试注册模块分为两部分,一种是当输入的账号没有被注册时进行的测试,另一种是当输入的账号被注册之后进行的测试。注册测试如下表6.3所示,测试结果如下图6.4所示。
表6.3 注册测试
编号 操作 输入数据 预期结果 实际结果
6.2-1 输入没注册过的用户名和密码,并确认密码无误进行注册 账号:tttttt
密码:123456
确认密码123456 注册成功 注册成功后进入主界面
6.2-2 输入注册过的用户名和密码,并确认密码无误进行注册 账号:aaaaaa
密码:123456
确认密码123456 注册失败 注册失败,提示处理失败
6.2-3 输入已经注册过的用户名和密码,将确认密码输入错误进行注册 账号:bbbbbb
密码:123456
确认密码654321 注册失败 注册失败,提示处理失败
图6.4 注册测试结果
测试结果是当注册没有被注册过的用户名,当密码和确认密码都正确时,注册成功后返回登录界面,当用户名被注册过之后再次被注册时,会提示用户名已被存在,当注册没被注册过的用户名时确认密码和设置的密码对应不上时,会显示确认密码错误。
6.3 员工管理测试
员工管理测试主要是对员工信息的各项操作,通过对员工信息的搜索,查看信息的显示是否与数据库中的数据相匹配,若匹配成功则是查询正确,反之,查询结果为失败。点击添加按钮,对员工信息进行添加,通过填写相关信息,看是否将信息添加到数据库,是否能在前台界面成功展示,员工管理测试用例如表6.5所示,测试结果如下图6.6所示。
表6.5 员工管理测试
编号 操作 输入数据 预期结果 实际结果
6.3-1 检查信息是否显示 无 显示成功 数据显示成功
6.3-2 与数据库的数据是否匹配 无 匹配成功
与数据库信息一致
6.3-3
输入没有错误的用户名进行搜索 账号:aaaaaa 搜索成功
显示和用户名相关的信息
6.3-4 输入不存在的用户名进行搜索 账号:tttttt 搜索失败
显示不存在该用户
6.3-5 输入准确无误的全部信息然后进行添加 账号:tttttt电话号码:123456789 性别:男 年龄:21岁 身份证号:147258963258 邮箱:tttttt@qq.com 添加成功
刷新表格,成功显示新增信息
6.3-6 信息输入准确无误但有选项未填,进行添加 账号:tttttt电话号码:123456789 性别:男 年龄:21岁 身份证号:147258963258 邮箱: 添加失败
刷新表格,显示新增信息失败,邮箱栏为空
6.3-7 输入准确无误的信息但有的信息不符合要求进行添加 账号:tt电话号码:123456789 性别:男 年龄:21岁 身份证号:147258963258 邮箱:tttttt@qq.com 添加失败
刷新表格,显示新增信息失败,新增时,账号字段少于三个
图6.6 测试结果
测试结果是当信息准确无误的输入后,进行查询,可以查询到相关信息。否则就会查询失败。添加信息时,在输入框内输入准确无误的信息后,可以将信息添加成功,反之,若输入信息有误,则添加失败。员工管理功能成立。
6.4 本章小结
本节主要阐述了在系统实现功能后对部分功能进行的测试操作,将测试的过程通过表的形式展现出来,可以一目了然的看到对功能的操作,以及预期结果和实际效果对比。其中选取了三部分进行测试,分别是登录功能的测试,注册功能的测试以及员工管理的测试。通过测试,系统可以达到预期要求。
在充分的需求分析和系统设计的基础上,本文综合运用SSM和其他相关技术与MVC相结合,来设计和实现农场管理系统中的功能。毕业设计和论文的主要工作概述如下:
(1)通过对农场管理中存在的问题进行分析,阐述了系统设计和实现的需求来源,并根据需求得出了我自己设计和实现的子系统的功能要求。设计了每个子系统的数据库表,描述了每个子系统的详细设计过程,类设计和时序设计,最后给出了系统的实现效果图。
(2)使用SSM技术框架,结合MVC分层开发的开发思想,开发系统的特定功能。编程过程具有清晰的层次和清晰的功能。
通过农场管理系统,我们可以为农场提供人员管理,统计分析,农资管理,收益分析和土地管理服务。更快,更准确地管理农场。
通过完成这次的毕业设计,从中发现了自己很多的不足,由于缺乏经验,会有很多考虑不周全的地方,如果没有老师的督促指导,以及一起学习的同学们的支持,想要完成这次的设计会非常难。回想这一路走来的日子,父母的疼爱关心,老师的悉心教诲,朋友的支持帮助一直陪伴着我,让我从中学习到很多,渐渐长大,也慢慢地在走向成熟。
四年的学习,不仅让我在知识结构和动手实践能力上重新上了一个新的台阶,更重要的是,各方面的素质得到了提高。而这一切,都应该归功于我的老师,是他的深切教诲和鼓励让我不断地进步,
感谢我的指导教师李佳佳老师和倪春雨老师,是老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严于律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。这次论文从选题到完成,每一步都是在指导教师的悉心指导下完成的,倾注了指导教师的大量心血。在此,再次向导师表示崇高的敬意和衷心的感谢,在写开题报告和论文的过程中,遇到了很多的问题,在老师悉心的指导下,问题都很快的得以解决。所以在此,郑重感谢我的指导老师。
感谢我的同学在设计项目过程中对我给予的最大的帮助和鼓励,在完成项目的过程中遇到了很多问题,知识储备不够,项目报错,都是在身边的同学一遍一遍的帮我调试,帮我改错,牺牲自己的时间来帮助我完成项目,并且在论文写作的过程中给予我很大的帮助,在与他们交流的过程中拓展了我的视野和思路。在这里,再次感谢我的同学,感谢他们的帮助。
感谢我的父母,焉得谖草,言树之背,养育之恩,无以为报。在上学的日子中,对我无微不至的关怀,给予我最多的鼓励与帮助。感谢父母,你们的健康快乐是我最大的心愿。在论文完成之际,我的心情久久不能平静,从开始选题到完成毕业设计,有那么多的老师,同学,朋友给了我许多帮助,再次感谢。
在这篇论文的写作和完成毕设的过程中,我深感自己的水平还非常的欠缺。生命不息,学习不止,人生就是一个不断学习和完善的过程。
[1]肖娥芳.家庭农场发展的研究进展[J].贵州农业科学.2014,42(2):229-233
[2]戴艳梅. 福建象山休闲农场开发思路与发展对策研究[D].福建农林大学,2009
[3]孙艺惠,杨存栋,陈田,郭焕成.我国观光农业发展现状及发展趋势[J].经济地理.2007,(5):835-836
[4]伍铃. 顺昌县绿锦园休闲农场发展思路与开发策略研究[D].福建农林大学,2013
[5]金钰.人均GDP达4000美元能说明什么?[J].统计科学与实践(天津).2010,(5):28
[6]何婉.法美两国乡村旅游的发展及对我国的启示[J].中共杭州市委党校学报,2006(02):85
[7]李四海.我国国有农场发展现状及改革建议[J].现代农业科技.2017,(15):263,265
[8]李慧敏,王殿安,贺凤欣.国有农场面临的困境及解困途径[J].农业经济,2002(2):18-19
[9]黄波.国内大型农场的优势以及发展趋势[J].农业与技术.2016,36(24):246
[10]张禄祥.国内外现代农业发展概况与发展趋势[J].广东农业科学,2007(12):124-125
[11]杨文艳,田春尧主编.Java程序设计[M].北京:北京理工大学出版社.2018.03:1
[12]吴炬.认识JavaScript语言和jQuery[J].人文之友.2018,(15):149
[13]邢琛.浅谈网页开发中的JSP技术[J].电脑迷.2018,(8):141
[14]韦建波,韦龙勇.浅议bootstrap框架优缺点[J].科技视界.2017,(12):222
[15]孙静,万杰,李亚龙.以 Bootstrap 为基础建立响应式安徽省地震局网站[J].四 川地震,2015,(03):38-41
[16]李希,鲍正德,李晨曦.浅析AJAX、JSON在实例中的应用[J].计算机系统网络和电信.2019,(2):28
[17]]Ravi Kumar Sachdeva;Sawtantar Singh.Use of AJAX to Improve Usability of Online Information Systems[J].Global Journal of Computer Science & Technology.2013,Vol.13(No.8-C):2
[18]Di Lu;Yuping Qiu;Chun Qian;Xi Wang and Wei Tan.Design of Campus Resource Sharing Platform based on SSM Framework[J].IOP Conference Series: Materials Science and Engineering.2019,Vol.490(Chapter 5):062043
[19]Arief Ginanjar,Mokhamad Hendayun. Spring Framework Reliability Investigation Against Database Bridging Layer Using Java Platform[J]. Procedia Computer Science,2019,161
[20]黄俊勇.基于Spring框架的研究与设计[J].电脑知识与技术.2018,(3):116
[21]陈张. 浅析struts2和springMVC的异同[J].数码世界.2017,000(004):150
[22]Margaretha Ohyver,Jurike V. Moniaga,Iwa Sungkawa,Bonifasius Edwin Subagyo,Ian Argus Chandra. The Comparison Firebase Realtime Database and MySQL Database Performance using Wilcoxon Signed-Rank Test[J]. Procedia Computer Science,2019,397
[23]孙铀.学生毕业论文管理系统的设计与实现[D].辽宁:大连理工大学,2007. DOI:10.7666/d.y1092878
[24]姚云飞,杜洪波,梁建辉.基于SpringMVC框架毕业设计管理系统设计[J].软件,2018,39(1):91. DOI:10.3969/j.issn.1003-6970.2018.01.018
[25]孟小峰,周龙骧,王珊. 数据库技术发展趋势[J]. 软件学报, 2004(12):74-88
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。