基于java的ssm框架农夫果园管理系统设计与实现

news2025/1/11 10:09:19

项目描述

临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给大家介绍一篇基于java的ssm框架农夫果园管理系统设计与实现。

功能需求

果园管理系统的开发目的是方便农夫对果园信息的管理和销售,通过对农产品的管理可以清楚地为用户提供公司信息以及产品信息的介绍和展示。系统有管前端网页和后台管理系统,通过调研和分析可知,这两类的主要功能如下:
(1)前端网页
网站首页:网站导航以及网站轮播图介绍和热门产品介绍。
公司简介:对公司信息展示。
新闻模块:农夫果园相关新闻的展示。
我的产品:弄产品列表查询展示和详情的查看。
合作伙伴:公司合作伙伴的信息罗列。
(2)后台管理
Banner图维护:修改、删除以及信息的查看。
公司简介:对公司标题和公司简介的管理。
产品管理:增加、删除、编辑产品名称、图片、介绍内容等,可以对产品历程添加和修改。
合作伙伴管理:
新闻管理:管理员对需要发布的新闻的添加、修改以及历史新闻的查看和删除。

在这里插入图片描述

部分效果图

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

部分代码


	/**
	 * 查询所有产品的历程的信息
	 */

	@CrossOrigin(origins = "*", maxAge = 3600)
	@RequestMapping("/productCourse_list_json")
	@ResponseBody
	public Map<Object, Object> productCourse_list_json(int pageNum, int rows) {
		Map<Object, Object> map = new HashMap<Object, Object>();

		// 查询所有产品历程的信息
		// 把显示的时间进行转换
		PageHelper.startPage(pageNum, rows);
		List<ProductCourse> productCourses = productCourseService.selectAll();
		for (int i = 0; i < productCourses.size(); i++) {
			String date2Stirng = DateUtil.Date2Stirng(productCourses.get(i)
					.getPctime());
			productCourses.get(i).setPctimeString(date2Stirng);
		}
		PageInfo<ProductCourse> pageInfo = new PageInfo<ProductCourse>(productCourses);
		map.put("code", 0);
		map.put("data", pageInfo.getList());
		map.put("count", pageInfo.getTotal());

		return map;
	}

	// 跳转到添加产品历程的页面 productCourse_add
	@CrossOrigin(origins = "*", maxAge = 3600)
	@RequestMapping("/productCourse_add")
	private String productCourse_add(Model model) {
		List<Product> products = productService.selectAll();
		model.addAttribute("products", products);
		return "productCourse/productCourse_add";
	}

	/**
	 * 添加产品历程信息
	 */
	@CrossOrigin(origins = "*", maxAge = 3600)
	@RequestMapping("/productCourse_add_json")
	@ResponseBody
	public Map<Object, Object> productCourse_add_json(
			ProductCourse productCourse, HttpServletRequest request) {

		Map<Object, Object> map = new HashMap<Object, Object>();
		// 添加产品历程信息 同事 自动添加时间和显示的状态
		productCourse.setStatus(0);
		productCourse.setPctime(new Date());

		
		int count = productCourseService.insertSelective(productCourse);
		if (count == 1) {
			map.put("code", 0);
			map.put("msg", "操作成功!");
		}
		return map;
	}

	/**
	 * 跳转到更新产品历程的页面 附带指定id的产品历程的信息
	 */
	@CrossOrigin(origins = "*", maxAge = 3600)
	@RequestMapping("/productCourse_edit")
	public String productCourse_edit(HttpServletRequest request, Integer id) {

		// 根据指定id查询信息
		ProductCourse productCourse = productCourseService
				.selectByPrimaryKey(id);

		String dateStr = DateUtil.Date2Stirng(productCourse.getPctime());
		productCourse.setPctimeString(dateStr);

		request.setAttribute("productCourse", productCourse);

		return "productCourse/productCourse_edit";
	}

	/**
	 * 修改数据
	 */
	@CrossOrigin(origins = "*", maxAge = 3600)
	@RequestMapping("/productCourse_edit_json")
	@ResponseBody
	public Map<Object, Object> productCourse_edit_json(
			ProductCourse productCourse) {
		Map<Object, Object> map = new HashMap<Object, Object>();

		int count = productCourseService
				.updateByPrimaryKeySelective(productCourse);
		if (count == 1) {
			map.put("code", 0);
			map.put("msg", "操作成功!");
		}

		return map;

	}

	/**
	 * 修改状态 把状态设置成1 1为不显示 0显示
	 */
	@CrossOrigin(origins = "*", maxAge = 3600)

	@RequestMapping("/del")
	@ResponseBody
	public Map<Object, Object> del(Integer id) {
		Map<Object, Object> map = new HashMap<Object, Object>();
		ProductCourse productCourse = new ProductCourse();
		productCourse.setStatus(1);
		productCourse.setId(id);

		int count = productCourseService
				.updateByPrimaryKeySelective(productCourse);
		if (count == 1) {
			map.put("code", 0);
			map.put("msg", "操作成功!");
		}

		return map;
	}

安装部署需求

eclipse/idea运行启动

系统部署

系统开发后,在生产环境配置项目运行环境,具体步骤如下:
安装linux或者windows10操作系统;
安装JDK1.8并配置环境变量;
安装MySQL5.7版本以上版本数据库,创建数据库并执行脚本创建表;
在eclipse/idea中运行打包;

本项目用到的技术和框架

1.开发语言:Java
2.开发模式:B/S
3.数据库:MySQL5.7
4.框架:SSM

本项目中的关键点

此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。

环境工具

开发工具 Eclipse
语言 JDK1.8 、SSM
硬件:笔记本电脑;
软件:Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL;
操作系统:Windows 10;
其它软件:截图工具、常用浏览器;
以上是本系统的部分功能展示,如果你的选题正好相符,那么可以做毕业设计或课程设计使用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 jdbc 技术升级水果库存系统(优化版本)

抽取执行更新方法抽取查询方法 —— ResultSetMetaData ResultSetMetaData rsmd rs.getMetaData();//元数据,结果集的结构数据 抽取查询方法 —— 解析结果集封装成实体对象提取 获取连接 和 释放资源 的方法将数据库配置信息转移到配置文件 <dependencies><depend…

【Java 进阶篇】Java HTTP 概述

HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一种用于传输超文本的应用层协议。它是构建互联网的基础之一&#xff0c;用于在客户端和服务器之间传递数据和请求资源。本文将为初学者提供关于 Java 中 HTTP 的概述&#xff0c;从 HTTP 请求和响应的基础知识到 Ja…

专业成就信赖-南大通用在分布式数据库的创新实践

在第二十五届中国国际软件博览会中国数据库产业峰会上&#xff0c;GBASE南大通用8c产品部总经理分享了题为“分布式数据库的创新实践”的演讲&#xff0c;全面解析了分布式数据库的发展和演进&#xff0c;以及GBASE南大通用分布式数据库的发展历程&#xff0c;详细介绍了第三代…

springboot + redis实现签到与统计功能

在很多项目中都会有签到与统计功能&#xff0c;最容易想到的方案是创建一个签到表来记录每个用户的签到记录&#xff0c;比如设计一个mysql数据库表&#xff1a; CREATE TABLE tb_sign id bigint(20) unsigned NOT NULL AUTOINCREMENT COMMENT 主键, user_id bigint(20) unsig…

作为一名程序员面临哪些挑战?应该如何应对?

在现今互联网失业潮的大环境下&#xff0c;每一位程序员都面临着被淘汰的风险&#xff0c;但逃避没有用&#xff0c;今天我们就来总结这些挑战与风险&#xff0c;找准自己的方向与定位&#xff0c;做好职业规划&#xff0c;希望这些信息能对大家有所帮助。 一、面临的挑战 老…

菱形(曼哈顿距离) C++实现

题目 代码 #include<iostream> using namespace std;int main(){int n;scanf("%d",&n);int cxn/2,cyn/2;for(int i0;i<n;i){for(int j0;j<n;j){if(abs(i-cx) abs(j-cy) < n/2) printf("*");else printf(" ");}puts("&…

Redis | 数据结构(01)

这里写自定义目录标题 Redis 速度快的原因除了它是内存数据库&#xff0c;使得所有的操作都在内存上进行之外&#xff0c;还有一个重要因素&#xff0c;它实现的数据结构&#xff0c;使得我们对数据进行增删查改操作时&#xff0c;Redis 能高效的处理。 因此&#xff0c;这次我…

【Ubuntu系统如何添加多个python版本并且切换】

ubuntu切换默认的python版本 当你安装 Debian Linux 时&#xff0c;安装过程有可能同时为你提供多个可用的 Python 版本&#xff0c;因此系统中会存在多个 Python 的可执行二进制文件。一般Ubuntu默认的Python版本都为2.x, 如何改变Python的默认版本。 你可以按照以下方法使用…

纯C语言实现解析单色位图文件获取颜色值

在绘制单色位图时&#xff0c;需要考虑字节对齐问题。字节对齐是指数据存储在内存中时按照多字节对齐的原则进行存放&#xff0c;以提高访问效率。 为了实现这个函数&#xff0c;可以按照以下步骤进行&#xff1a; 计算每行像素数据的实际占用字节数&#xff1a;每个像素占用1…

Shellcode——绕过31

遇到了一道ctf题目&#xff0c;要求shellcode的每一个字节都必须大于31。 如果没有这个限制的话&#xff1a; 这是最方便的了。 但是必须大于31. 所以我想&#xff0c;那就吧所有小于31的加上31&#xff0c;然后运行的时候这部分代码自己修改自己。 也就是SMC,&#xff0…

(二开)Flink 修改源码拓展 SQL 语法

1、Flink 扩展 calcite 中的语法解析 1&#xff09;定义需要的 SqlNode 节点类-以 SqlShowCatalogs 为例 a&#xff09;类位置 flink/flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/dql/SqlShowCatalogs.java 核心方法&#xff1a; Override pu…

redis缓存击穿 穿透

我们之前写了一把分布式锁 并且用redis写的, redis内部实现是比较完善的&#xff0c;但是我们公司用的时候 redis 至少都是主从&#xff0c;哨兵,cluster 很少有单机的 呢么我们分布式锁基于集群问题下会有什么问题 比如说当第一个线程设置一个key过来进行加锁&#xff0c;加锁…

html/css/javascript/js实现的简易打飞机游戏

源码下载地址 支持&#xff1a;远程部署/安装/调试、讲解、二次开发/修改/定制 视频浏览地址

Maven项目转为SpringBoot项目

Maven项目转为SpringBoot项目 前言创建一个maven项目前的软件的一些通用设置Maven仓库的设置其他的设置字符编码编译器注解支持 创建的Maven项目修改为Spring Boot项目修改pom.xml文件修改启动类-Main新建WAR包所需的类 添加核心配置文件 测试的控制器最后整个项目的目录结构![…

Bayes决策:身高与体重特征进行性别分类

代码与文件请从这里下载&#xff1a;Auorui/Pattern-recognition-programming: 模式识别编程 (github.com) 简述 分别依照身高、体重数据作为特征&#xff0c;在正态分布假设下利用最大似然法估计分布密度参数&#xff0c;建立最小错误率Bayes分类器&#xff0c;写出得到的决…

@AutoConfigurationPackage注解类

包名package org.springframework.boot.autoconfigure 方法 String[] basePackages() 向AutoConfigurationPackages中注册的基本包&#xff0c;使用basePackageClasses作为基于字符串的包的类型安全替代方案 Class<?>[] basePackageClasses() 键入basePackage…

VL10F后台生成发货单时报错:物料 XXXXX 状态被锁定/未激活(不允许发货)

错误原因&#xff1a;物料主数据&#xff1a;销售视图1中&#xff0c;物料的发货状态没有激活。MM02修改物料的发货状态后正常生成单据。

双十一值得买的数码产品、这几款都不容错过

一年一度的双11终于来了&#xff0c;相信很多朋友都打算在此次的双11入手自己想要的产品&#xff0c;作为一个数码爱好者&#xff0c;我也是在此次的双11入手了下面4款数码产品&#xff0c;一起来看看吧&#xff01; 1、不用入耳佩戴的开放式耳机 -官方售价&#xff1a;199 …

WebSocket协议:5分钟从入门到精通

一、内容概览 WebSocket的出现&#xff0c;使得浏览器具备了实时双向通信的能力。本文由浅入深&#xff0c;介绍了WebSocket如何建立连接、交换数据的细节&#xff0c;以及数据帧的格式。此外&#xff0c;还简要介绍了针对WebSocket的安全攻击&#xff0c;以及协议是如何抵御类…

互联网产品说明书指南,附撰写流程与方法

产品说明书&#xff0c;对于普通产品而言&#xff0c;再常见不过。药物、电器、电子产品等产品在正式出售时&#xff0c;往往都会附带一份产品说明书&#xff0c;以此告诉用户这个产品的功能与特性&#xff0c;并指导用户如何来使用这个产品。 产品说明书 那么&#xff0c;对于…