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

一、源码特点

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

四 系统实现

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

相关推荐
魔道不误砍柴功1 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2341 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨1 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
种树人202408191 小时前
如何在 Spring Boot 中启用定时任务
spring boot
测开小菜鸟2 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
Ai 编码助手3 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
P.H. Infinity3 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天3 小时前
java的threadlocal为何内存泄漏
java
陈燚_重生之又为程序员4 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle4 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express