Java项目实战II基于Java+Spring Boot+MySQL的植物健康系统(开发文档+源码+数据库)

目录

目录

一、前言

二、技术介绍

三、系统实现

四、文档参考

五、核心代码

六、源码获取



全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末

一、前言

随着农业现代化的推进,植物健康监测与管理成为提升作物产量与品质的关键环节。传统的人工监测方法不仅效率低下,且难以精准捕捉植物生长的细微变化。为此,我们设计并实现了一款基于Java+Spring Boot+MySQL的植物健康系统。本系统利用物联网、大数据分析及机器学习技术,实现对植物生长环境的实时监测与数据分析,为种植者提供精准的健康预警与管理建议。Java的强大功能和Spring Boot的便捷开发特性,结合MySQL数据库的稳定性能,共同构建了高效、可靠的系统架构。本系统的推出,旨在促进农业生产的智能化、精细化,助力农业可持续发展。

二、技术介绍

语言:Java

使用框架:Spring Boot

前端技术:JS、Vue 、css3

开发工具:IDEA/Eclipse

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:jdk1.8

Maven: apache-maven 3.8.1-bin

前端环境:Node.Js 12\14\16

三、系统实现

系统首页

植物健康系统需要登录才可以看到首页。具体界面的展示如图5.1所示。

咨询专家

可以在咨询专家栏目发布消息。具体界面如图5.2所示。

普通植物检查登记

普通员工可以对普通植物检查登记信息进行添加,修改,删除以及查询操作。界面如下图所示:

珍贵植物检查登记

普通员工可以对珍贵植物检查登记进行添加修改删除操作。界面如下图所示:

植物救治用料登记

普通员工可以对植物救治用料登记进行添加,修改,删除操作。界面如下图所示:

植物救治材料管理

普通员工可以对植物救治材料进行添加修改删除操作。界面如下图所示:

植物疾病案例管理

技术人员可以对普通员工提交的植物疾病案例进行审核操作。界面如下图所示:

四、文档参考

五、核心代码

复制代码
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;
 
	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
 
	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }
 
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }
 
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

六、源码获取

感谢大家点赞、收藏、关注、评论 啦 、获取联系方式在个人简介绿泡泡

相关推荐
czlczl2002092514 小时前
Spring Boot :如何高性能地在 Filter 中获取响应体(Response Body)
java·spring boot·后端
爱学习的阿磊14 小时前
C++代码冗余消除
开发语言·c++·算法
sg_knight15 小时前
抽象工厂模式(Abstract Factory)
java·python·设计模式·抽象工厂模式·开发
春日见15 小时前
win11 分屏设置
java·开发语言·驱动开发·docker·单例模式·计算机外设
2301_7800290415 小时前
支付宝sdk导入错误
java·开发语言·maven
TGITCIC15 小时前
丢掉向量数据库!推理型 RAG 正在重新定义长文档问答的准确边界
数据库·ai大模型·推理·ai搜索·大模型ai·rag增强检索·ai检索
码界奇点15 小时前
基于Spring Boot和Vue3的无头内容管理系统设计与实现
java·spring boot·后端·vue·毕业设计·源代码管理
九皇叔叔15 小时前
【03】微服务系列 之Nacos 注册中心(服务注册)
java·微服务·nacos·架构·注册中心·服务注册
xfhuangfu15 小时前
Oracle AI db 26ai中借助dbca创建pdb的过程
数据库·oracle
heze0915 小时前
sqli-labs-Less-28a
数据库·mysql·网络安全