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 {
    @Autowired
    private ZhongzhihuService zhongzhihuService;



    
	@Autowired
	private 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")
    @Transactional
    public 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 {
    @Autowired
    private 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")
    @Transactional
    public 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);
	}
	







}
相关推荐
Q_9709563910 分钟前
java+vue+SpringBoo校园失物招领网站(程序+数据库+报告+部署教程+答辩指导)
java·数据库·vue.js
Wyc7240918 分钟前
Maven
java·数据库·maven
军训猫猫头20 分钟前
1.如何对多个控件进行高效的绑定 C#例子 WPF例子
开发语言·算法·c#·.net
程序猿小D21 分钟前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的电影小说网站管理系统,推荐!
java·数据库·mysql·spring·毕业设计·ssm框架·电影小说网站
真的想上岸啊34 分钟前
学习C++、QT---18(C++ 记事本项目的stylesheet)
开发语言·c++·学习
明天好,会的40 分钟前
跨平台ZeroMQ:在Rust中使用zmq库的完整指南
开发语言·后端·rust
丁劲犇1 小时前
用 Turbo Vision 2 为 Qt 6 控制台应用创建 TUI 字符 MainFrame
开发语言·c++·qt·tui·字符界面·curse
旷世奇才李先生2 小时前
Next.js 安装使用教程
开发语言·javascript·ecmascript
木头没有瓜2 小时前
idea离线安装插件
java·ide·intellij-idea
llwszx2 小时前
Spring中DelayQueue深度解析:从原理到实战(附结构图解析)
java·后端·spring·delayqueue·延迟任务