一、源码特点
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 map= new HashMap();
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", "");//操作提示
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", "");//返回前台 操作提示
return listpage(request,response);
}
三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspfoodshop.sql 系统名称jspfoodshop
四 系统实现