一、源码特点
SSM 在线商务管理系统是一套完善的信息管理系统,结合SSM框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码
和数据库,系统主要采用B/S模式开发。
ideaSSM在线商务管理系统
前段主要技术 bootstrap.css jquery
后端主要技术 SpringMVC spring mybatis
数据库 mysql
开发工具 IDEA JDK1.8 TOMCAT 8.5
二、功能介绍
系统主要角色包括管理员,会员
各个角色具有不同的角色
1)后台管理:包括管理员对用户信息,订单,商品的增删改查,对用户的角色类型进行授权。
2)主页展示:类似京东的主页面,让商品分类目展示。
3)用户登录:用户登录成功之后才能让商品添加到购物车,用户才能购买商品。
4)购物车:用户可以在购物车看到添加的商品。
5)订单:订单显示用户购买的商品信息,用户地址和支付方式。
主要代码
@Resource
private dingdanDao dingdandao;
@RequestMapping(value="/addpage")
public String addpage(dingdan bean, HttpServletRequest request){
/**
订单添加页面
*/
Map<String,Object> map= new HashMap<String,Object>();
System.out.println("addPageok");
return "dingdan/dingdanadd";
}
@RequestMapping(value="/add")
public String add(dingdan bean, HttpServletRequest request){
/**
订单添加处理方法
**/
Map<String,Object> map= new HashMap<String,Object>();//初始变量
String ddid=(String)request.getParameter("ddid");//订单编号
String ddmc=(String)request.getParameter("ddmc");//订单名称
String yh=(String)request.getParameter("yh");//用户
String gmsj=(String)request.getParameter("gmsj");//购买时间
String zt=(String)request.getParameter("zt");//状态
String dz=(String)request.getParameter("dz");//地址
String dh=(String)request.getParameter("dh");//电话
String shr=(String)request.getParameter("shr");//收货人
String cpcz=(String)request.getParameter("cpcz");//菜品操作
String jsfs=(String)request.getParameter("jsfs");//结算方式
String zj=(String)request.getParameter("zj");//总价
dingdandao.add(bean);//调用添加方法
System.out.println("add");
request.setAttribute("msg", "<script>alert('添加成功');</script>");//操作提示
return "dingdan/dingdanadd";
}
/**删除 订单
*
*/
@RequestMapping(value="/del")
public String del(HttpServletRequest request,Map<String,Object> map){
// Map<String,Object> map= new HashMap<String,Object>();//初始化对象
String a=(String)request.getParameter("keyid");//request 方式获得主键id
int id=Integer.parseInt(a);
request.setAttribute("msg", "<script>alert('删除成功');</script>");
dingdandao.delete(id);//调用 删除方法
return listpage(map,request);
}
/**
* 查询dingdan信息 返回list结果 前台获取
*/
@RequestMapping(value="/listpage")
public String listpage(Map<String,Object> map,HttpServletRequest request){
List<Map> list= new ArrayList<Map>();//初始化对象
Map map1= new HashMap();
String ddid=(String)request.getParameter("ddid");//订单编号
if(ddid!=null&&!ddid.equals("")){
map1.put("ddid",ddid);//订单编号
}
String ddmc=(String)request.getParameter("ddmc");//订单名称
if(ddmc!=null&&!ddmc.equals("")){
map1.put("ddmc",ddmc);//订单名称
}
String yh=(String)request.getParameter("yh");//用户
if(yh!=null&&!yh.equals("")){
map1.put("yh",yh);//用户
}
String gmsj=(String)request.getParameter("gmsj");//购买时间
if(gmsj!=null&&!gmsj.equals("")){
map1.put("gmsj",gmsj);//购买时间
}
String zt=(String)request.getParameter("zt");//状态
if(zt!=null&&!zt.equals("")){
map1.put("zt",zt);//状态
}
String dz=(String)request.getParameter("dz");//地址
if(dz!=null&&!dz.equals("")){
map1.put("dz",dz);//地址
}
String dh=(String)request.getParameter("dh");//电话
if(dh!=null&&!dh.equals("")){
map1.put("dh",dh);//电话
}
String shr=(String)request.getParameter("shr");//收货人
if(shr!=null&&!shr.equals("")){
map1.put("shr",shr);//收货人
}
String cpcz=(String)request.getParameter("cpcz");//菜品操作
if(cpcz!=null&&!cpcz.equals("")){
map1.put("cpcz",cpcz);//菜品操作
}
String jsfs=(String)request.getParameter("jsfs");//结算方式
if(jsfs!=null&&!jsfs.equals("")){
map1.put("jsfs",jsfs);//结算方式
}
String zj=(String)request.getParameter("zj");//总价
if(zj!=null&&!zj.equals("")){
map1.put("zj",zj);//总价
}
list=dingdandao.getAll(map1);//传入 方法参数 返回gly结果集
System.out.println("listsize="+list.size());
map.put("list", list);//传递参数
return "dingdan/dingdanlist";
}
/**
订单详情信息
*/
@RequestMapping(value="/detail")
public String detail(Map<String,Object> map,HttpServletRequest request){
String keyid=(String)request.getParameter("keyid");//request 方式获得主键id
dingdan bean=new dingdan();//初始化对象
bean=dingdandao.getdingdanByID(Integer.parseInt(keyid));//根据id返回 dingdan对象数据
request.setAttribute("ddid", String.valueOf(bean.getDdid()));//订单编号
request.setAttribute("ddmc", bean.getDdmc());//订单名称
request.setAttribute("yh", bean.getYh());//用户
request.setAttribute("gmsj", bean.getGmsj());//购买时间
request.setAttribute("zt", bean.getZt());//状态
request.setAttribute("dz", bean.getDz());//地址
request.setAttribute("dh", bean.getDh());//电话
request.setAttribute("shr", bean.getShr());//收货人
request.setAttribute("cpcz", bean.getCpcz());//菜品操作
request.setAttribute("jsfs", bean.getJsfs());//结算方式
request.setAttribute("zj", bean.getZj());//总价
return "dingdan/dingdandetail";
}
数据库设计
表4-1 管理员信息表
|----|-------|---------|----|----|-------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | glyid | INTEGER | 11 | 是 | 管理员编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
表4-2 用户信息表
|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | yhid | INTEGER | 11 | 是 | 用户编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
| 5 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
| 6 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
表4-3 字典类别表
|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | zdid | INTEGER | 11 | 是 | 字典编号 |
| 2 | zd | VARCHAR | 40 | 否 | 字典 |
| 3 | lx | VARCHAR | 40 | 否 | 类型 |
表4-4 商品类别信息表
|----|--------|---------|----|----|--------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | splbid | INTEGER | 11 | 是 | 商品类别编号 |
| 2 | lb | VARCHAR | 40 | 否 | 类别 |
表4-5 商品信息表
|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | spid | INTEGER | 11 | 是 | 商品编号 |
| 2 | sp | VARCHAR | 40 | 否 | 商品 |
| 3 | lb | VARCHAR | 40 | 否 | 类别 |
| 4 | cd | VARCHAR | 40 | 否 | 产地 |
| 5 | jg | VARCHAR | 40 | 否 | 价格 |
| 6 | ms | VARCHAR | 40 | 否 | 描述 |
| 7 | tp | VARCHAR | 40 | 否 | 图片 |
| 8 | kc | VARCHAR | 40 | 否 | 库存 |
| 9 | sjsj | VARCHAR | 40 | 否 | 上架时间 |
| 10 | sj | VARCHAR | 40 | 否 | 上架 |
三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspssmshop.sql 系统名称ssmshop
4、地址:qt/index.jsp
四 系统实现