ssm农业信息管理系统源码和论文

摘  要

网络的广泛应用给生活带来了十分的便利。所以把农业信息管理与现在网络相结合,利用java技术建设农业信息管理系统,实现农业信息管理的信息化。则对于进一步提高农业信息管理发展,丰富农业信息管理经验能起到不少的促进作用。

农业信息管理系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知农业信息管理系统的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群众了解自己。对于农业信息管理而言,若拥有自己的系统,通过系统得到更好的管理,同时提升了形象。

系统设计的现状和趋势,从需求、结构、数据库等方面的设计到系统的实现,分别为管理员,种植户和用户实现。论文的内容从系统的设计、描述、实现、分析、测试方面来表明开发的过程。本系统根据现实情况来选择一种可行的开发方案,借助java编程语言和MySQL数据库等实现系统的全部功能,接下来对系统进行测试,测试系统是否有漏洞和测试用户权限来完善系统最终系统完成达到相关标准。

关键字:农业信息管理系统java;MySQL数据库

ssm农业信息管理系统源码和论文725

演示视频;

ssm农业信息管理系统源码和论文

Abstract

The wide application of network has brought great convenience to life. Therefore, the agricultural information management is combined with the current network, and the agricultural information management system is constructed by using Java technology to realize the informatization of agricultural information management. It can play a great role in promoting the development of agricultural information management and enriching the experience of agricultural information management.

Agricultural information management system can be widely and comprehensively publicized through the Internet, so that as many users as possible understand and be familiar with the convenient and efficient agricultural information management system, not only to provide services for the masses, but also to promote themselves, so that more people understand themselves. For agricultural information management, if we have our own system, we can get better management through the system and improve our image.

The present situation and trend of the system design, from the design of requirements, structure, database and other aspects to the realization of the system, respectively for the realization of administrators, farmers and users. The content of the paper shows the development process from the aspects of system design, description, implementation, analysis and testing. The system according to the reality to choose a feasible development plan, with the help of Java programming language and MySQL database to achieve all the functions of the system, then the system is tested, test whether the system has vulnerabilities and test user permissions to improve the system, the final system to achieve relevant standards.

Key words: Agricultural information management system; Java; The MySQL database

 

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.ZhongzhihuEntity;
import com.entity.view.ZhongzhihuView;import com.service.ZhongzhihuService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 种植户* 后端接口* @author * @email * @date 2022-06-15 14:56:43*/
@RestController
@RequestMapping("/zhongzhihu")
public class ZhongzhihuController {@Autowiredprivate ZhongzhihuService zhongzhihuService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@RequestMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {ZhongzhihuEntity user = zhongzhihuService.selectOne(new EntityWrapper<ZhongzhihuEntity>().eq("zhongzhihuzhanghao", username));if(user==null || !user.getMima().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(), username,"zhongzhihu",  "种植户" );return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@RequestMapping("/register")public R register(@RequestBody ZhongzhihuEntity zhongzhihu){//ValidatorUtils.validateEntity(zhongzhihu);ZhongzhihuEntity user = zhongzhihuService.selectOne(new EntityWrapper<ZhongzhihuEntity>().eq("zhongzhihuzhanghao", zhongzhihu.getZhongzhihuzhanghao()));if(user!=null) {return R.error("注册用户已存在");}Long uId = new Date().getTime();zhongzhihu.setId(uId);zhongzhihuService.insert(zhongzhihu);return R.ok();}/*** 退出*/@RequestMapping("/logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");ZhongzhihuEntity user = zhongzhihuService.selectById(id);return R.ok().put("data", user);}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){ZhongzhihuEntity user = zhongzhihuService.selectOne(new EntityWrapper<ZhongzhihuEntity>().eq("zhongzhihuzhanghao", username));if(user==null) {return R.error("账号不存在");}user.setMima("123456");zhongzhihuService.updateById(user);return R.ok("密码已重置为:123456");}/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,ZhongzhihuEntity zhongzhihu, HttpServletRequest request){EntityWrapper<ZhongzhihuEntity> ew = new EntityWrapper<ZhongzhihuEntity>();PageUtils page = zhongzhihuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhongzhihu), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,ZhongzhihuEntity zhongzhihu, HttpServletRequest request){EntityWrapper<ZhongzhihuEntity> ew = new EntityWrapper<ZhongzhihuEntity>();PageUtils page = zhongzhihuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhongzhihu), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( ZhongzhihuEntity zhongzhihu){EntityWrapper<ZhongzhihuEntity> ew = new EntityWrapper<ZhongzhihuEntity>();ew.allEq(MPUtil.allEQMapPre( zhongzhihu, "zhongzhihu")); return R.ok().put("data", zhongzhihuService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(ZhongzhihuEntity zhongzhihu){EntityWrapper< ZhongzhihuEntity> ew = new EntityWrapper< ZhongzhihuEntity>();ew.allEq(MPUtil.allEQMapPre( zhongzhihu, "zhongzhihu")); ZhongzhihuView zhongzhihuView =  zhongzhihuService.selectView(ew);return R.ok("查询种植户成功").put("data", zhongzhihuView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){ZhongzhihuEntity zhongzhihu = zhongzhihuService.selectById(id);return R.ok().put("data", zhongzhihu);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){ZhongzhihuEntity zhongzhihu = zhongzhihuService.selectById(id);return R.ok().put("data", zhongzhihu);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody ZhongzhihuEntity zhongzhihu, HttpServletRequest request){zhongzhihu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(zhongzhihu);ZhongzhihuEntity user = zhongzhihuService.selectOne(new EntityWrapper<ZhongzhihuEntity>().eq("zhongzhihuzhanghao", zhongzhihu.getZhongzhihuzhanghao()));if(user!=null) {return R.error("用户已存在");}zhongzhihu.setId(new Date().getTime());zhongzhihuService.insert(zhongzhihu);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody ZhongzhihuEntity zhongzhihu, HttpServletRequest request){zhongzhihu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(zhongzhihu);ZhongzhihuEntity user = zhongzhihuService.selectOne(new EntityWrapper<ZhongzhihuEntity>().eq("zhongzhihuzhanghao", zhongzhihu.getZhongzhihuzhanghao()));if(user!=null) {return R.error("用户已存在");}zhongzhihu.setId(new Date().getTime());zhongzhihuService.insert(zhongzhihu);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody ZhongzhihuEntity zhongzhihu, HttpServletRequest request){//ValidatorUtils.validateEntity(zhongzhihu);zhongzhihuService.updateById(zhongzhihu);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){zhongzhihuService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<ZhongzhihuEntity> wrapper = new EntityWrapper<ZhongzhihuEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = zhongzhihuService.selectCount(wrapper);return R.ok().put("count", count);}}

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.NongchanpinleixingEntity;
import com.entity.view.NongchanpinleixingView;import com.service.NongchanpinleixingService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 农产品类型* 后端接口* @author * @email * @date 2022-06-15 14:56:43*/
@RestController
@RequestMapping("/nongchanpinleixing")
public class NongchanpinleixingController {@Autowiredprivate NongchanpinleixingService nongchanpinleixingService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,NongchanpinleixingEntity nongchanpinleixing, HttpServletRequest request){EntityWrapper<NongchanpinleixingEntity> ew = new EntityWrapper<NongchanpinleixingEntity>();PageUtils page = nongchanpinleixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, nongchanpinleixing), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,NongchanpinleixingEntity nongchanpinleixing, HttpServletRequest request){EntityWrapper<NongchanpinleixingEntity> ew = new EntityWrapper<NongchanpinleixingEntity>();PageUtils page = nongchanpinleixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, nongchanpinleixing), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( NongchanpinleixingEntity nongchanpinleixing){EntityWrapper<NongchanpinleixingEntity> ew = new EntityWrapper<NongchanpinleixingEntity>();ew.allEq(MPUtil.allEQMapPre( nongchanpinleixing, "nongchanpinleixing")); return R.ok().put("data", nongchanpinleixingService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(NongchanpinleixingEntity nongchanpinleixing){EntityWrapper< NongchanpinleixingEntity> ew = new EntityWrapper< NongchanpinleixingEntity>();ew.allEq(MPUtil.allEQMapPre( nongchanpinleixing, "nongchanpinleixing")); NongchanpinleixingView nongchanpinleixingView =  nongchanpinleixingService.selectView(ew);return R.ok("查询农产品类型成功").put("data", nongchanpinleixingView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){NongchanpinleixingEntity nongchanpinleixing = nongchanpinleixingService.selectById(id);return R.ok().put("data", nongchanpinleixing);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){NongchanpinleixingEntity nongchanpinleixing = nongchanpinleixingService.selectById(id);return R.ok().put("data", nongchanpinleixing);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody NongchanpinleixingEntity nongchanpinleixing, HttpServletRequest request){nongchanpinleixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(nongchanpinleixing);nongchanpinleixingService.insert(nongchanpinleixing);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody NongchanpinleixingEntity nongchanpinleixing, HttpServletRequest request){nongchanpinleixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(nongchanpinleixing);nongchanpinleixingService.insert(nongchanpinleixing);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody NongchanpinleixingEntity nongchanpinleixing, HttpServletRequest request){//ValidatorUtils.validateEntity(nongchanpinleixing);nongchanpinleixingService.updateById(nongchanpinleixing);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){nongchanpinleixingService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<NongchanpinleixingEntity> wrapper = new EntityWrapper<NongchanpinleixingEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = nongchanpinleixingService.selectCount(wrapper);return R.ok().put("count", count);}}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/246999.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二极管:二极管的基本原理

一、认识导体、绝缘体、半导体 什么是导体&#xff1f; 导体 conductor &#xff0c;是指电阻率很小&#xff0c;且容易传导电流的物质。导体中存在大量可自由移动的带电粒子&#xff0c;也称为载流子。在外电场的作用下&#xff0c;载流子作定向运动&#xff0c;形成电流。 …

【Linux】进程控制--进程创建/进程终止/进程等待/进程程序替换/简易shell实现

文章目录 一、进程创建1.fork函数2.fork函数返回值3.写时拷贝4.fork常规用法5.fork调用失败的原因 二、进程终止1.进程退出码2.进程退出场景3.进程常见退出方法 三、进程等待1.为什么要进行进程等待2.如何进行进程等待1.wait方法2.waitpid方法3.获取子进程status4.进程的阻塞等…

Nginx 简单入门操作

前言:之前的文章有些过就不罗嗦了。 Nginx 基础内容 是什么? Nginx 是一个轻量级的 HTTP 服务器,采用事件驱动、异步非阻塞处理方式的服务器,它具有极好的 IO 性能,常用于 HTTP服务器(包含动静分离)、正向代理、反向代理、负载均衡 等等. Nginx 和 Node.js 在很多方…

Android Studio的笔记--String和byte[]

String和byte[]的相互转换&#xff0c;字节数组转换 String转换byte[]文本16进制字节数组 byte[]转换String文本16进制 其它 String转换byte[] 文本 将字符串&#xff08;String&#xff09;转换为字节&#xff08;byte&#xff09;的方法。默认使用的是UTF-8编码 StandardCh…

全屏显示功能

全屏显示功能 screenfull 依赖下载 yarn add screenfull --save-dev使用 <template><!-- 全屏的字体图标 --><header><i class"iconfont icon-quanping"> </i></header> </template> <script> import screenfull …

【Unity动画】状态机添加参数控制动画切换(Animator Controller)

Unity - 手册&#xff1a;动画参数 在Unity中&#xff0c;动画状态的切换是通过Animator Controller中的过渡&#xff08;Transition&#xff09;来实现的。过渡是状态之间的连接&#xff0c;控制过渡一般都是靠调用代码参数 我们来实现一个案例&#xff1a; 创建动画状态机&a…

练习十二:利用SRAM设计一个FIFO

利用SRAM设计一个FIFO 1&#xff0c;任务目的2&#xff0c;设计要求3&#xff0c;FIFO接口的设计思路4&#xff0c;FIFO接口的测试&#xff0c;top.v5&#xff0c;FIFO接口的参考设计&#xff0c;fifo_interface.v6&#xff0c;SRAM模型&#xff0c;sram.v代码7&#xff0c;viv…

MySQL笔记-第06章_多表查询

视频链接&#xff1a;【MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板】 文章目录 第06章_多表查询1. 一个案例引发的多表连接1.1 案例说明1.2 笛卡尔积&#xff08;或交叉连接&#xff09;的理解1.3 案例分析与问题解决 2. …

【超详细】vue项目:Tinymce富文本使用教程以及踩坑总结+功能扩展

【【超详细】vue项目&#xff1a;Tinymce富文本使用教程以及踩坑总结功能扩展 引言&#xff1a;一、 开始二、快速开始1、安装Tinymce 三、封装成Vue组件1、文件结构2、index.vue3、dynamicLoadScript.js4、plugin.js5、toolbar.js 四、使用Tinymce组件五、业务逻辑实现1、添加…

W2311294-万宾科技可燃气体监测仪怎么进行数据监测

万宾科技可燃气体监测仪怎么进行数据监测 燃气是现代城市之中重要的能源&#xff0c;它已经渗透到城市生活的方方面面&#xff0c;对燃气管网的管理也在考验着政府人员的工作能力。燃气管网的安全运行和城市的安全和人民的生活直接挂钩。为了及时掌握燃气管网的运行状态&#x…

合并两个有序链表[简单]

优质博文&#xff1a;IT-BLOG-CN 一、题目 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4] 示例 2&#xff1a; 输入&#…

SQL Server 数据库,多表查询

4.2使用T-SQL实现多表查询 前面讲述过的所有查询都是基于单个数据库表的查询&#xff0c;如果一个查询需要对多个表进行操作&#xff0c; 就称为联接查询&#xff0c;联接查询的结果集或结果称为表之间的联接。 联接查询实际上是通过各个表之间共同列的关联性来查询数据的&…