当前位置: 首页 > article >正文

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

目录

一、前言

二、技术介绍

三、系统实现

四、文档参考

五、核心代码

六、源码获取


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

一、前言

基于Java、Spring Boot和MySQL的植物健康系统,是信息技术在农业管理领域的一次重要应用。随着现代农业的发展,植物健康管理已成为农业生产中不可或缺的一环。然而,传统的植物健康管理方式存在诸多不足,如信息记录不完整、管理效率低下等。为解决这些问题,我们设计并实现了基于Java、Spring Boot和MySQL的植物健康系统。该系统利用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();
    }
}

五、核心代码

六、源码获取

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


http://www.kler.cn/a/375216.html

相关文章:

  • 【机器学习与数据挖掘实战】案例06:基于Apriori算法的餐饮企业菜品关联分析
  • mysql-主从同步与读写分离
  • 腾讯云智能结构化OCR:以多模态大模型技术为核心,推动跨行业高效精准的文档处理与数据提取新时代
  • 一道Delphi的面试题
  • WPF 使用LibVLCSharp.WPF实现视频播放、停止、暂停功能
  • 你好Python
  • 网络搜索引擎Shodan(5)
  • Lucene数据写入流程
  • 【qt qtcreator使用】【正点原子】嵌入式Qt5 C++开发视频
  • Python爬虫:在1688上“侦探游戏”获取店铺详情
  • 如何利用斗篷cloak技术做F牌独立站?
  • mysql 中临时表
  • 如何提高FPGA的逻辑利用率与资源效率!!!
  • 软件测试工程师面试整理 —— 编程与自动化!
  • 竞赛管理新未来:Spring Boot大学生竞赛平台
  • C++的filesystem的时间与Qt的QDateTime时间为什么相差204年?
  • git入门教程15:git扩展
  • Vue全栈开发旅游网项目(3)-Vue路由配置
  • 基于SpringBoot和PostGIS的世界各国邻国可视化实践
  • 一文了解 | 软件测试类型与用途
  • 前端请求后端接口报错(blocked:mixed-content),以及解决办法
  • Element Plus在Vue3的安装
  • 使用web.dev提供的工具实现浏览器消息推送服务
  • Python 的 Pygame 库来开发一个游戏
  • 关于使用雷池社区版需要知道,什么是 IPv4 地址?
  • Linux Kernel Programming (个人读书笔记)