java springboot VUE 健康食谱管理系统开发mysql数据库web结构java编程计算机网页源码maven项目

news2025/1/20 22:00:40

一、源码特点
  springboot VUE 健康食谱管理系统是一套完善的完整信息管理类型系统,结合springboot框架和VUE完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开
发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。

springboot VUE 健康食谱管理系统


前段主要技术 vue 
后端主要技术 Springboot java
数据库 mysql
开发工具 IDEA  JDK1.8 
环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以 不建议。

2.IDE环境:推荐IDEA;

3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可,本系统不需要

4.硬件环境:windows 7/8/10 1G内存以上;;

5.数据库:MySql 5.7、8.0等版本均可;

6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目;

3. 将项目中jksp\src\main\resources 下的 application.properties 配置文件中的数据库配置改为自己的配置;
数据库支持 mysql5.0 到5.6 ,如果需要5.7 到8.0 需要二次转换升级
4.vscode 开vue项目工程
5.vue 项目启动  npm run serve 
vue 版本 2.9.6
node 版本 16.14.2

二、功能介绍

(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)用户管理:对用户信息进行添加、删除、修改和查看
(3)食谱管理:对食谱信息进行添加、删除、修改和查看
(4)商品管理:对商品信息进行添加、删除、修改和查看
(5)积分兑换管理:对积分兑换信息进行添加、删除、修改和查看
(6)用户登录

数据库设计

CREATE TABLE `gly` (
`glyid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',  PRIMARY KEY  (`glyid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `yonghu` (
`yhid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`lxdh` VARCHAR(40) default NULL COMMENT '联系电话',
`lxdz` VARCHAR(40) default NULL COMMENT '联系地址',
`jf` VARCHAR(40) default NULL COMMENT '积分',  PRIMARY KEY  (`yhid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `shipu` (
`spid` int(11) NOT NULL auto_increment,
`mc` VARCHAR(40) default NULL COMMENT '名称',
`js` VARCHAR(40) default NULL COMMENT '介绍',
`yh` VARCHAR(40) default NULL COMMENT '用户',
`scsj` VARCHAR(40) default NULL COMMENT '上传时间',
`tp` VARCHAR(40) default NULL COMMENT '图片',
`jf` VARCHAR(40) default NULL COMMENT '积分',
`zt` VARCHAR(40) default NULL COMMENT '状态',  PRIMARY KEY  (`spid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `shangpin` (
`spid` int(11) NOT NULL auto_increment,
`spmc` VARCHAR(40) default NULL COMMENT '商品名称',
`js` VARCHAR(40) default NULL COMMENT '介绍',  PRIMARY KEY  (`spid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jfdh` (
`jfdhid` int(11) NOT NULL auto_increment,
`yh` VARCHAR(40) default NULL COMMENT '用户',
`sp` VARCHAR(40) default NULL COMMENT '商品',
`dhsj` VARCHAR(40) default NULL COMMENT '兑换时间',
`sm` VARCHAR(40) default NULL COMMENT '说明',  PRIMARY KEY  (`jfdhid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;


处理类

package com.main.controller;

import com.main.dao.glyDao;
import com.main.model.gly;
import com.main.util.DBO;
import com.alibaba.fastjson.JSONObject;
import com.main.config.Result;
import com.main.util.DBO;
import com.main.util.tool;
import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.ResultSet;
import java.util.*;
/**
管理员处理方法 主要是 对表gly 的操作
*/
@Controller
@RequestMapping("/gly")
@ResponseBody
public class glyController {
    
   
    glyDao glydao=new glyDao();
   


    tool tl=new tool();//工具方法




   /**管理员列表 查询gly
     *
     */
    @GetMapping("list")
    public Result  list(@RequestParam(value = "pageNum",defaultValue = "1") int page,
                            @RequestParam(value = "pageSize",defaultValue = "10") int szie,
			    @RequestParam(defaultValue = "") String yhm
			    )  {

        Result res=new Result();


        List list=null;
        String sql="";
        try{


      
	  if(yhm!=null&&!yhm.equals("")){
                sql+=" and yhm like '%"+yhm+"%'";//符合条件 拼接sql 用户名
            }
          


            list=glydao.querylist(sql,page,szie);//查询gly表数据返回 list对象
            res.setCode(200);
            res.setMessage("查询成功");


            res.setData(tl.ltoj(list));

            list=glydao.querylist(sql);
            res.setNum(list.size());

        }catch(Exception e){
            e.printStackTrace();;
        }




        return res;
    }


   /**管理员列表 查询gly
	 * 
	 */

    @GetMapping("listpage")
    public Result  listpage(
			    @RequestParam(defaultValue = "") String yhm
			    )  {

        Result res=new Result();


        List list=null;
     String sql="";
      
	  if(yhm!=null&&!yhm.equals("")){
                sql+=" and yhm like '%"+yhm+"%'";//符合条件 拼接sql 用户名
            }
	try{
	  
	list=glydao.querylist(sql);//查询gly 表数据返回 list对象
        res.setCode(200);
        res.setMessage("查询成功");


        res.setData(tl.ltoj(list));

	}catch(Exception e){
            e.printStackTrace();;
        }


       

        return res;
    }


	/**管理员添加方法 对表 gly  进行添加
	 * 
	 */
    @PostMapping(value = "add")
    public Result  add(@RequestBody gly bean){
            Result res=new Result();
    String sql="";
    ResultSet rs=null;
    int num=0;
    DBO db=new DBO();

	try{
         
            if(bean.getGlyid()!=null&&!bean.getGlyid().equals("")){
            glydao.update(bean);//执行 修改 gly 添加操作
                res.setCode(200);
                res.setMessage("操作成功");
            }else{

                sql="select count(1) as num from gly where yhm='"+bean.getYhm()+"'";
                rs=db.query(sql);
                if(rs.next()){
                    num=rs.getInt("num");
                }
                if(num>0){
                    res.setCode(201);
                    res.setMessage("添加失败!用户名重复");
                }else{

                    glydao.add(bean);//执行 添加gly 添加操作

                    res.setCode(200);
                    res.setMessage("添加成功");
                }



        }


	 }catch(Exception e){
            e.printStackTrace();;
        }finally {
	    db.close();
    }


        //System.out.println(res);



        return res;

    }


	
	 /**管理员删除方法 对表gly  进行删除
	 * 
	 */
     @DeleteMapping("del/{id}")
    public Result  del( @PathVariable String id){
         Result res=new Result();
        try{
           glydao.delete(id);//执行 删除gly 方法

        }catch(Exception e){
            e.printStackTrace();;
        }


         res.setCode(200);
         res.setMessage("删除成功");


        return res;
    }




	/**管理员查看方法 对表 gly 进行查看
	 * 
	 */

    @GetMapping("detail")
    public Result  detail(@RequestParam String id){
        Result res=new Result();
        Map<String, String> map = new HashMap<>();

        gly bean=new gly();//初始对象管理员
    
        try{
          
            map=glydao.getglyMap(id);//查询获得当前管理员对象



         
            res.setCode(200);
            res.setMessage("查询成功");

            res.setData(tl.mtoj(map));

            System.out.println(tl.mtoj(map));

        
        }catch(Exception e){
            e.printStackTrace();;
        }





        return res;
    }
	
	/**管理员修改页面 对表 gly 进行查看
	 * 
	 */
	 @GetMapping("modifypage/{id}")

    public Result  modifypage(@PathVariable String id){
        Result res=new Result();
        Map<String, String> map = new HashMap<>();
        tool tl=new tool();
        try{
            map=glydao.getglyMap(id);//获取gly 对象

            //String str=obj.toString();
            res.setCode(200);
            res.setMessage("查询成功");

            res.setData(tl.mtoj(map));//赋值 
        }catch(Exception e){
            e.printStackTrace();;
        }





        return res;
    }
	
	
	 /**管理员修改方法 对表 gly 进行修改
	 * 
	 */

    @PostMapping(value = "update")
    public Result  update(@RequestBody gly bean) {

        Result res=new Result();
	try{

    
        glydao.update(bean);//执行修改方法
	 }catch(Exception e){
            e.printStackTrace();;
        }




        res.setCode(200);
        res.setMessage("操作成功");


        return res;
    }
	
	

}

三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspjksp.sql 系统名称jksp
4、地址:http://128.0.0.1:8080/login

四系统实现

 

 

 

 

 

 

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

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

相关文章

PHP快速入门08-JSON与XML处理

文章目录 前言一、使用介绍1.1 JSON处理1.2 XML处理 二、常见用法20例2.1 将数组转换为JSON格式&#xff1a;2.2 将JSON字符串转换回PHP数组&#xff1a;2.3 读取XML文件&#xff1a;2.4 将XML字符串转换成PHP对象&#xff1a;2.5 从URL获取JSON数据&#xff1a;2.6 写入JSON文…

SpringBoot集成Disruptor

Disruptor介绍 1.Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列&#xff0c;研发的初衷是解决内存队列的延迟问题&#xff08;在性能测试中发现竟然与I/O操作处于同样的数量级&#xff09;。基于 Disruptor 开发的系统单线程能支撑每秒 600 万订单&#xff0c;2010 年…

为什么APP也需要SSL证书?

通常我们会想到对网站使用SSL证书&#xff0c;来加密数据传输过程&#xff0c;确保信息不被篡改、泄露。对APP这类应用程序则选择软件签名证书&#xff0c;来进行数字签名和防止代码被恶意篡改。然而APP很容易获取到个人敏感信息&#xff0c;为了防止这些信息在传输过程中被有心…

JUC并发编程之读写锁

1 ReentrantReadWriteLock 当读操作远远高于写操作&#xff0c;这时候使用 读写锁 让 读-读 可以并发&#xff0c;提高性能&#xff0c;类似于数据库中的 select … from … lock in share mode 测试阻塞 提供一个 数据容器类 内部分别使用读锁保护数据的 read() 方法&#…

NAT-HCIA阶段综合实验

拓扑结构&#xff1a; 要求 1、ISP路由器只能配置IP地址&#xff0c;之后不得进行其他配置 2、内部整个网络基于192.168.1.0/24进行地址规划 3、R1、R2之间启动OSPF协议&#xff0c;单区域 4、PC1~PC4自动获取IP地址 5、PC1不能telnetR1&#xff0c;PC1外的其他内网PC可以t…

设计模式-行为型模式之状态模式

4. 状态模式 4.1. 模式动机 在很多情况下&#xff0c;一个对象的行为取决于一个或多个动态变化的属性&#xff0c;这样的属性叫做状态&#xff0c;这样的对象叫做有状态的(stateful)对象&#xff0c;这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事…

GPT大模型之后,谷歌、微软、百度们AI争霸的下一战

又来了一个大模型&#xff01; 4 月 14 日&#xff0c;雷军宣布推出小米的大规模语言模型&#xff1b;4 月 11 日&#xff0c;在阿里云峰会上&#xff0c;阿里云智能首席技术官周靖人正式宣布推出大规模语言模型——通义千问&#xff0c;并宣布要在钉钉、天猫精灵等阿里所有产品…

Ghidra使用之Options页面功能介绍

Apply Processor Defined Lables 在Ghidra中,apply processor defined labels功能可以为汇编代码中的地址和数据自动添加注释,这可以大大提高反汇编代码的可读性。 使用步骤如下: 打开您要反汇编的文件,进入Code Browser窗口。点击Edit菜单,选择Apply Processor Defined Labels…

Mysql不同服务器跨库查询解决方案

项目场景&#xff1a; Mysql在不同服务器实现跨库查询&#xff0c;类似dblink。 解决方案&#xff1a; 在两台不同服务器&#xff0c;实现跨库查询&#xff0c;其实现原理类似一个虚拟映射,需要用到mysql的另一个存储引擎Federated&#xff0c;FEDERATED存储引擎访问在远程数据…

另一个世界的人

休假 赶在假期无效前&#xff0c;休了个长假回了趟老家。不仅是为了逃离工作的繁忙&#xff0c;也为了看望老家的婆婆爷爷。回趟老家对于我们这种社会人来说确实太难了&#xff0c;如果只是周末回去也就休息一天就得往回赶&#xff0c;太累。自己的假期本来就不多&#xff0c;如…

如何对HDFS进行节点内(磁盘间)数据平衡

当HDFS的DataNode节点挂载多个磁盘时&#xff0c;往往会出现两种数据不均衡的情况&#xff1a; 1.不同DataNode节点间数据不均衡&#xff1b; 2.挂载数据盘的磁盘间数据不均衡。 特别是这种情况&#xff1a;当DataNode原来是挂载了几个数据盘&#xff0c;当磁盘占用率很高之…

7.1 参数的点估计

小结&#xff1a; 点估计是一种统计推断方法&#xff0c;它用于通过样本数据估计总体参数的值。在统计学中&#xff0c;总体是指一个包含所有个体的集合&#xff0c;而样本是从总体中选出的一部分个体。总体参数是总体的某种特征&#xff0c;如平均值、标准差、比例等。 点估…

全志V851s、V853内g2d模块sample深究

1. g2d 模块概述 g2d 主要功能&#xff1a; 1&#xff09;旋转&#xff1a;支持90、180、270旋转&#xff1b; 2&#xff09;镜像反转&#xff1a;H / V; 3) scale&#xff1a;放缩 4&#xff09;格式转换&#xff1a;yuv 转 rgb 等&#xff0c;多种格式相互间转换&#xff1b…

python学习——缺失值、重复值处理、排序及替换

文章目录 1 缺失值处理1.1 查看缺失值 df.isnull()1.2 统计缺失值 df.isnull().sum()1.3 删除缺失值 df.drop()1.4 填充缺失值 df.fillna()1.4.1 固定值填充 df.fillna(value)1.4.2 线性插值填充 df.fillna(df.interpolate()) 2 重复值处理2.1 查看重复值 df.duplicated()2.2 筛…

最佳实践:Android应用中的网络请求和数据缓存

最佳实践&#xff1a;Android应用中的网络请求和数据缓存 网络请求在Android应用中的重要性 在现代移动应用中&#xff0c;网络请求扮演着重要的角色&#xff0c;涉及到数据的获取、上传、更新等功能。网络请求在Android应用中具有关键地位&#xff0c;对于提供优秀的用户体验和…

如何使用山海鲸可视化绘制堆叠双轴图?

简介 堆叠双轴图是一种数据可视化图表类型&#xff0c;它结合了堆叠柱状图和双轴图的特点&#xff0c;将两个或更多个数据系列以不同的颜色或图案堆叠在一起&#xff0c;同时使用两个垂直轴来表示不同的数据范围&#xff0c;以显示它们之间的关系和趋势。其中一个轴通常代表数…

一个实例讲解如何使用BP神经网络(附代码)

本站原创文章&#xff0c;转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com BP神经网络是一个广泛应用的模型&#xff0c; 本文以一个实例作为主线&#xff0c;面向初学者讲解如何构建和使用一个BP神经网络 帮助没接触进BP神经网络的初学者&#xff0c;快速上手BP神经网络…

传统机器学习(四)聚类算法DBSCAN

传统机器学习(四)聚类算法DBSCAN 1.1 算法概述 DBSCAN&#xff08;Density-Based Spatial Clustering of Applications with Noise&#xff0c;具有噪声的基于密度的聚类方法&#xff09;是一种基于密度的空间聚类算法。 该算法将具有足够密度的区域划分为簇&#xff0c;并在…

【C++学习】类和对象--对象特性(2)

静态成员 静态成员就是在成员变量和成员函数前加上关键字static&#xff0c;称为静态成员。 静态成员变量&#xff1a; 所有对象共享同一份数据 在编译阶段分配内存 类内声明&#xff0c;类外初始化 静态成员函数&#xff1a; 所有对象共享同一个函数 静态成员函数只能访问静态…

MyBatis小技巧

一、MyBatis中接口代理机制及使用 我们不难发现&#xff0c;以前编写dao/mapper实现类中的方法代码很固定&#xff0c;基本上就是一行代码&#xff0c;通过SqlSession对象调用insert、delete、update、select等方法&#xff0c;这个类中的方法没有任何业务逻辑&#xff0c;既然…