Springboot 订餐管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

news2024/9/22 1:17:45

一、源码特点
  springboot 订餐管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有
完整的源代码和数据库,系统主要采用B/S模式开发。
前段主要技术 bootstrap.css jquery
后端主要技术 springboot
数据库 mysql
开发工具 IDEA  JDK1.8 TOMCAT 8.5

springboot 订餐管理系统1

二、功能介绍
本系统模块实现功能如下:
(1)前台模块
1)用户、商家注册: 登录系统后可以注册成会员或者商家。
2)个人信息: 会员可以查看自己的注册信息并且可以修改。
3)菜品搜索: 会员可以查询自己所需要的菜品信息。
4)店铺查看功能: 会员可以查看店铺。
5)常用地址维护
6)收藏商品
7)提交订单,查看订单,加入购物车
8)公告浏览
9)注销退出:用户退出此系统。
(2)后台模块
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)用户管理:对用户信息进行添加、删除、修改和查看
(3)商家管理:对商家信息进行添加、删除、修改和查看
(4)角色管理:对角色信息进行添加、删除、修改和查看
(5)菜单管理:对菜单信息进行添加、删除、修改和查看
(6)公告管理:对公告信息进行添加、删除、修改和查看
(7)菜品类别管理:对菜品类别信息进行添加、删除、修改和查看
(8)菜品管理:对菜品信息进行添加、删除、修改和查看
(9)订单管理:对订单信息进行添加、删除、修改和查看
(10)订单统计:对订单按照月度进行统计
(11)配送管理:对配送信息进行添加、删除、修改和查看

数据库设计

(1)管理员信息表如表5.1所示:

表5.1 管理员信息表

序号

字段名称

数据类型

长度

主键

描述

1

glyid

INTEGER

11

管理员编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

(2)用户表如表5.2所示:

表5.2 用户表

序号

字段名称

数据类型

长度

主键

描述

1

yhid

INTEGER

11

用户编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

dh

VARCHAR

40

电话

6

jtzz

VARCHAR

40

家庭住址

7

sj

VARCHAR

40

时间

8

zt

VARCHAR

40

状态

(3)商家表如表5.3所示:

表5.3 商家表

序号

字段名称

数据类型

长度

主键

描述

1

sjid

INTEGER

11

商家编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

lxdh

VARCHAR

40

联系电话

6

lxdz

VARCHAR

40

联系地址

7

tp

VARCHAR

40

图片

(4)角色信息表如表5.4所示:

表5.4 角色信息表

序号

字段名称

数据类型

长度

主键

描述

1

jsid

INTEGER

11

角色编号

2

js

VARCHAR

40

角色

(5)菜单表如表5.5所示:

表5.5菜单表

序号

字段名称

数据类型

长度

主键

描述

1

cdid

INTEGER

11

菜单编号

2

cd

VARCHAR

40

菜单

3

js

VARCHAR

40

角色

(6)公告表如表5.6所示:

表5.6公告表

序号

字段名称

数据类型

长度

主键

描述

1

ggid

INTEGER

11

公告编号

2

bt

VARCHAR

40

标题

3

nr

VARCHAR

40

内容

4

fbsj

VARCHAR

40

发布时间

(7)菜品类别表如表5.8所示:

表5.8 菜品类别信息表

序号

字段名称

数据类型

长度

主键

描述

1

cplbid

INTEGER

11

菜品类别编号

2

lbmc

VARCHAR

40

类别名称

3

ms

VARCHAR

40

描述

(8)菜品信息表如表5.9所示:

表5.9 菜品信息表

序号

字段名称

数据类型

长度

主键

描述

1

cpid

INTEGER

11

菜品编号

2

cpmc

VARCHAR

40

菜品名称

3

tp

VARCHAR

40

图片

4

js

VARCHAR

40

介绍

5

cplb

VARCHAR

40

菜品类别

6

jg

VARCHAR

40

价格

7

sj

VARCHAR

40

商家

代码设计


   /**菜品列表 查询caipin
	 * 
	 */
    @RequestMapping(value = "listpage")
    public ModelAndView  listpage(HttpServletRequest request, HttpServletResponse response)  {
        try {
            request.setCharacterEncoding("gb2312");//强制字符集
        }catch(Exception e){
            e.printStackTrace();
        }
      Map<String,Object> map= new HashMap<String,Object>();

        ModelAndView mav = new ModelAndView();//初始化
        mav.setViewName("caipin/caipinlist");//跳转jsp 页面
	String sql="";
        String cpid=(String)request.getParameter("cpid");
        if(cpid!=null&&!cpid.equals("")){
           // System.out.println(cpid);
          	sql+=" and cpid like '%"+cpid+"%'";//符合条件 拼接sql 菜品编号

        }
        String cpmc=(String)request.getParameter("cpmc");
        if(cpmc!=null&&!cpmc.equals("")){
           // System.out.println(cpmc);
          	sql+=" and cpmc like '%"+cpmc+"%'";//符合条件 拼接sql 菜品名称

        }
        String tp=(String)request.getParameter("tp");
        if(tp!=null&&!tp.equals("")){
           // System.out.println(tp);
          	sql+=" and tp like '%"+tp+"%'";//符合条件 拼接sql 图片

        }
        String js=(String)request.getParameter("js");
        if(js!=null&&!js.equals("")){
           // System.out.println(js);
          	sql+=" and js like '%"+js+"%'";//符合条件 拼接sql 介绍

        }
        String cplb=(String)request.getParameter("cplb");
        if(cplb!=null&&!cplb.equals("")){
           // System.out.println(cplb);
          	sql+=" and cplb like '%"+cplb+"%'";//符合条件 拼接sql 菜品类别

        }
        String jg=(String)request.getParameter("jg");
        if(jg!=null&&!jg.equals("")){
           // System.out.println(jg);
          	sql+=" and jg like '%"+jg+"%'";//符合条件 拼接sql 价格

        }
        String sj=(String)request.getParameter("sj");
        if(request.getSession().getAttribute("yhm")!=null){
           // System.out.println(sj);
          	sql+=" and sj like '"+request.getSession().getAttribute("yhm")+"'";//符合条件 拼接sql 商家

        }


        List list=null;
	try{
	list=caipindao.querylist(sql);//查询caipin 表数据返回 list对象
	}catch(Exception e){
            e.printStackTrace();;
        }

        mav.addObject("list",list);//赋值变量
       

        return mav;
    }

	 /**菜品添加方法 对表 caipin 进行添加
	 * 
	 */
    @RequestMapping(value = "add")
    public ModelAndView  add(HttpServletRequest request, HttpServletResponse response){

        try {
            request.setCharacterEncoding("gb2312");//强制字符集
        }catch(Exception e){
            e.printStackTrace();
        }
        ModelAndView mav = new ModelAndView();//初始化
        mav.setViewName("caipin/caipinadd");
        caipin bean=new caipin();
	
        String cpid=(String)request.getParameter("cpid");//菜品编号 变量
        bean.setCpid(cpid);//赋值封装

        String cpmc=(String)request.getParameter("cpmc");//菜品名称 变量
        bean.setCpmc(cpmc);//赋值封装

        String tp=(String)request.getParameter("tp");//图片 变量
        bean.setTp(tp);//赋值封装

        String js=(String)request.getParameter("js");//介绍 变量
        bean.setJs(js);//赋值封装

        String cplb=(String)request.getParameter("cplb");//菜品类别 变量
        bean.setCplb(cplb);//赋值封装

        String jg=(String)request.getParameter("jg");//价格 变量
        bean.setJg(jg);//赋值封装

        String sj=(String)request.getParameter("sj");//商家 变量
        bean.setSj(sj);//赋值封装

	try{
        caipindao.add(bean);//执行 添加 caipin 添加操作
	 }catch(Exception e){
            e.printStackTrace();;
        }
	

       

        request.setAttribute("msg", "<script>alert('添加成功');</script>");//操作提示

        return addpage(request,response);

    }
	/**菜品添加页面 
	 * 
	 */

    @RequestMapping(value = "addpage")
    public ModelAndView  addpage(HttpServletRequest request, HttpServletResponse response){
           try {
            request.setCharacterEncoding("gb2312");//强制字符集
	    // request.setAttribute("conn",jdbcTemplate.getDataSource().getConnection());
        }catch(Exception e){
            e.printStackTrace();
        }
        ModelAndView mav = new ModelAndView();//初始化对象
        mav.setViewName("caipin/caipinadd");//跳转页面对象
       



        return mav;
    }

	 /**菜品删除方法 对表 caipin 进行删除
	 * 
	 */
    @RequestMapping(value = "del")
    public ModelAndView  del(HttpServletRequest request, HttpServletResponse response){
        String id=(String)request.getParameter("keyid");//获得 主键id
        ModelAndView mav = new ModelAndView();
       // mav.setViewName("add/add");
        try{
           caipindao.delete(id);//执行 删除 caipin 方法

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



        request.setAttribute("msg", "<script>alert('删除成功');</script>");//返回前台 操作提示

        return listpage(request,response);
    }

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

四 系统实现

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

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

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

相关文章

HTML5+CSS3+JS小实例:仿优酷视频轮播图

实例:仿优酷视频轮播图 技术栈:HTML+CSS+JS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content=&quo…

矩阵分解PCA,SVD

PCA 协方差矩阵的特征向量是PCA主成分的方向。 数据----去中心化-------协方差矩阵---------特征向量表示坐标轴方向&#xff0c;特征值表示坐标轴方向的方差 缺点&#xff1a;受离群值的影响很大 主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#…

内网穿透方法汇总

内网穿透 1.ddns原理和使用条件 电信宽带&#xff1a;通过难过光猫拨号&#xff0c;得到的如果是私网的IP&#xff0c;可以通过10000号投诉&#xff0c;从而得到公网IP&#xff08;浮动IP&#xff0c;每次拨号会分配一个IP&#xff0c;可以通过ddns实现通过域名绑定&#xff…

2.8 Flowmap的实现

一、Flowmap是什么 Valve 2010的GDC讲座&#xff0c;《求生之路2》中水的制作 http://alex.vlachos.com/graphics/Vlachos-SIGGRAPH10-WaterFlow.pdf Water (shader) - Valve Developer Community 1.Flowmap的本质 一张记录了2D向量信息的纹理&#xff0c;Flowmap上的颜色&…

uwsgi+gevent+nginx部署实现协程高并发

python 所有用到的库 alembic1.12.0 amqp5.1.1 aniso86019.0.1 APScheduler3.10.4 async-timeout4.0.3 billiard4.1.0 blinker1.6.2 celery5.3.4 certifi2023.7.22 cffi1.15.1 charset-normalizer3.2.0 click8.1.7 click-didyoumean0.3.0 click-plugins1.1.1 click-repl0.3.0 …

基于web的酒店客房管理系统

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 会员信息管理 客房信息管理 收藏客房管理 用户入住管理 客房清扫管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施…

数据结构———— 堆

(一)基础补充 满二叉树是每一层节点都放满的二叉树。 完全二叉树是只有最后一层节点右边不放满的二叉树。 满二叉树(Perfect Binary Tree) 如果二叉树中除了叶子结点,每个结点的度都为 2,则此二叉树称为满二叉树。另一种说法:一个深度为k(>=-1)且有2^(k+1) - 1个结…

拼多多商品链接获取拼多多商品详情数据(用 Python实现拼多多商品信息抓取)

在网页抓取方面&#xff0c;可以使用 Python、Java 等编程语言编写程序&#xff0c;通过模拟 HTTP 请求&#xff0c;获取拼多多网站上的商品页面。在数据提取方面&#xff0c;可以使用正则表达式、XPath 等方式从 HTML 代码中提取出有用的信息。值得注意的是&#xff0c;拼多多…

Bootstrap-初始

响应式布局&#xff1a; 一个网站可以兼容多个终端&#xff08;PC、移动端&#xff09; >框架使用的版本是根据公司的产品所面向的是什么样的客户来决定的&#xff01;&#xff01;&#xff01; 官网&#xff1a;Bootstrap

iMovie for Mac:专业级的视频剪辑体验!

如果你是一位视频爱好者&#xff0c;那么你一定不能错过iMovie for Mac这款专业视频剪辑工具。它不仅拥有简单易用的界面&#xff0c;而且功能强大&#xff0c;可以让你轻松完成复杂的视频剪辑任务。 一、界面友好&#xff0c;上手容易 iMovie for Mac的界面设计简洁明了&…

深度解析locked勒索病毒,勒索病毒解密,数据恢复

locked勒索病毒曾经消失了一段时间&#xff0c;但是从今年6月份以来&#xff0c;这种类型的勒索病毒又“重出江湖”&#xff0c;被感染的服务器和企业越来越多&#xff0c;这让很多企业和安全运维人员都非常头疼。为了减少这种情况的发生&#xff0c;云天数据恢复中心将对locke…

为什么说,网络安全工程师是网安行业的天花板?

为什么说&#xff0c;网络安全工程师是网安行业的天花板&#xff1f; 最近看到网上有很多人在问诸如&#xff1a;“怎样成为网络信息安全工程师”等相关问题&#xff0c;甚至还有人说“网络安全工程师已经成为这个行业的天花板”&#xff0c;这可能与近几年网络安全事件频发&a…

阿里云 腾讯云 配置二级域名并解析指向非80端口操作指南

目标&#xff1a;主域名 imps.com 已完成配置&#xff0c;新增配置 kpi.imps.com 等二级域名并指向 8083 端口。 &#xff08;此操作需要主域名已经通过备案3天后&#xff0c;最好指向的IP地址网站也通过了备案申请&#xff0c;否则会提示域名没有备案。&#xff09; 操作流程…

C++标准模板(STL)- 类型支持 (数值极限,is_exact,has_infinity,has_quiet_NaN)

数值极限 定义于头文件 <limits> template< class T > class numeric_limits; numeric_limits 类模板提供查询各种算术类型属性的标准化方式&#xff08;例如 int 类型的最大可能值是 std::numeric_limits<int>::max() &#xff09;。 鉴别准确表示的类…

在Kubernetes中实现gRPC流量负载均衡

在尝试将gRPC服务部署到Kubernetes集群中时&#xff0c;一些用户&#xff08;包括我&#xff09;面临的挑战之一是实现适当的负载均衡。在深入了解如何平衡gRPC的方式之前&#xff0c;我们首先需要回答一个问题&#xff0c;即为什么需要平衡流量&#xff0c;如果Kubernetes已经…

【技能树笔记】网络篇——练习题解析(五)

目录 前言 一、应用层的作用 1.1 应用层的作用 二、HTTP协议 2.1 HTTP协议 三、FTP协议 3.1 FTP协议 四、DNS协议 4.1 DNS协议 五、DHCP协议 5.1 DHCP协议 六、邮件协议 6.1 电子邮件协议 总结 前言 本篇文章给出了CSDN网络技能树中的部分练习题解析&#xff0c…

检验检疫系统(LIS)源码:C# + MVC + SQLserver + Redis

LIS系统源码技术特点&#xff1a;采用.Net Core新的技术框架、DEV报表、前端js封装、分布式文件存储、分布式缓存等&#xff0c;支持LIS独立部署&#xff0c;Docker部署等多种方式。 技术架构&#xff1a;ASP.NET CORE 3.1 MVC SQLserver Redis等 开发语言&#xff1a;C…

每日一题——数据分析题

2023年上海市高等学校信息技术水平考试模拟题&#xff1a;数据分析题 读取csv文件这里可以使用pd.read_csv() import pandas as pd# 读取CSV文件 fileroad r素材\city_GDP.csv data pd.read_csv(fileroad, encodinggbk)# 输入地区城市名 city input("请输入城市&#…

SpringBoot之实现Web消息实时消息推送

文章目录 1 实时消息推送1.1 消息推送1.2 准备sql1.3 短轮询1.4 长轮询1.4.1 简介1.4.2 代码示例 1.5 iframe流1.6 SSE1.6.1 简介1.6.2 与 WebSocket 区别1.6.3 代码示例 1.7 MQTT1.7.1 简介1.7.2 为什么要用 MQTT协议 1.8 WebSocket 1 实时消息推送 1.1 消息推送 推送的场景…