> 文档中心 > 2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第五课对订单管理的查询)。

2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第五课对订单管理的查询)。

目录

2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第五课对供应商管理的查询)。

第一部分.回顾昨天写的四篇文章.博文.

上面的博文内容我在这里重新介绍一下。

第一篇文章:是对SSM框架环境的配置这是SSM框架的基础.如果环境都不会还能做好后面的项目吗?

第二篇文章:是对SSM框架登录页面的介绍以及非法登录问题的介绍。

第三篇文章:是对SSM框架,项目第一模块的讲解主要是对用户管理模块数据的查看删除。

第四篇文章:是对SSM框架,项目第一模块的讲解主要是对用户管理模块数据的修改与增加。

所以上面的文章请各位自己好好领悟。学习项目制作过程中要善于总结。最好是学完这个项目后自己能不能创建一个项目出来。今天下午进入到供应商管理的增删改查.这里我会将本模块分为三篇博文便于读者的理解。欢迎来到第五课供应商管理的查询操作。

以及订单管理的多表查询.

2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第五课对供应商管理的查询操作)。

供应商实现的功能1.如果是系统管理员,不具备操作供应商的功能2.如果是经理,经理有权利去添加,删除,修改和查询供应商3.如果是普通员工,查询供应商详情信息

回顾那张图。

思路分析:我要查数据到哪里查?我查查到的数据是一条记录还是多条记录?用什么方式存放起来呢?

 本项目有三种角色要实现的那些功能呢?建立三层架构要用到几个包呢?如何判断用户的身份?

创建对象用什么注解?利用什么方式能自动写入对象?页面跳转的方式有几种呢?带着问题去思考问题这样你才能找到解决问题?

1.如果是系统管理员,不具备操作供应商的功能。2.如果是经理,经理有权利去添加,删除,修改和查询供应商。3.如果是普通员工,查询供应商详情信息。

我这样做如果是系统管理员我提示一条信息

alert("当前登录的员工不具备该功能的操作权限");

如果是经理:当我点击页面是让用户跳到

GetBills.do 页面  在控制器中定义一个方法。

接收后 从控制层开始要经历以下步骤

控制层 到 业务逻辑层  到数据 访问层 

数据层中将所有的数据返回给控制层展示在一个页面上

如果是经理跳到providerList否则跳到providerList2".页面展示查询到的数据。

解决方案:首先要有两个页面。providerList providerList2

上面页面效果展示。

项目完成后的运行效果

 从数据Dao层开始。

在service层中定义接口文件

在Service层的实现类中

注意:上面代码要加上这些内容。

 @Autowired     IProviderDao dao;   对象的自动写入。

在控制层中。

  @Autowired    IProviderService pService;  

重点在下面

   if (userRole == 2) {            //经理,要查看供应商信息,而且添加,修改,删除供应商            mav.setViewName("providerList");        } else {            //普通员工,只能查看所有供应商信息            mav.setViewName("providerList2");        }        return mav;    }

下篇文章讲述第六课在供应商中增加一条数据。


2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第五课对供应商管理的查询)。

第一部分.回顾昨天写的四篇文章.博文.

2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第一课环境配置SSM框架的复习)_@Live@And@Learn@#的博客-CSDN博客

2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第二课非法登录自动跳到登录页面比并且清除所用信息)_@Live@And@Learn@#的博客-CSDN博客

2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第三课课对用户模块的查询与删除)_@Live@And@Learn@#的博客-CSDN博客

2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第四课课对用户模块的修改和增加的操作)其实更上面一篇博客的内容差不多无非是MySql语句不一样。_@Live@And@Learn@#的博客-CSDN博客


上面的博文内容我在这里重新介绍一下。

第一篇文章:是对SSM框架环境的配置这是SSM框架的基础.如果环境都不会还能做好后面的项目吗?

第二篇文章:是对SSM框架登录页面的介绍以及非法登录问题的介绍。

第三篇文章:是对SSM框架,项目第一模块的讲解主要是对用户管理模块数据的查看删除。

第四篇文章:是对SSM框架,项目第一模块的讲解主要是对用户管理模块数据的修改与增加。

所以上面的文章请各位自己好好领悟。学习项目制作过程中要善于总结。最好是学完这个项目后自己能不能创建一个项目出来。今天下午进入到供应商管理的增删改查.这里我会将本模块分为三篇博文便于读者的理解。欢迎来到第五课供应商管理的查询操作。

以及订单管理的多表查询.


2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第五课对供应商管理的查询操作)。

供应商实现的功能
1.如果是系统管理员,不具备操作供应商的功能
2.如果是经理,经理有权利去添加,删除,修改和查询供应商
3.如果是普通员工,查询供应商详情信息


回顾那张图。


思路分析:我要查数据到哪里查?我查查到的数据是一条记录还是多条记录?用什么方式存放起来呢?

 本项目有三种角色要实现的那些功能呢?建立三层架构要用到几个包呢?如何判断用户的身份?

创建对象用什么注解?利用什么方式能自动写入对象?页面跳转的方式有几种呢?带着问题去思考问题这样你才能找到解决问题?


1.如果是系统管理员,不具备操作供应商的功能。
2.如果是经理,经理有权利去添加,删除,修改和查询供应商。
3.如果是普通员工,查询供应商详情信息。

我这样做如果是系统管理员我提示一条信息

alert("当前登录的员工不具备该功能的操作权限");

如果是经理:当我点击页面是让用户跳到

GetBills.do 页面  在控制器中定义一个方法。

接收后 从控制层开始要经历以下步骤

控制层 到 业务逻辑层  到数据 访问层 

数据层中将所有的数据返回给控制层展示在一个页面上

如果是经理跳到providerList否则跳到providerList2".页面展示查询到的数据。


解决方案:首先要有两个页面。providerList providerList2

        超市订单管理系统--供应商列表     * {     font-family: 楷体;     font-size: 18px;     color: black;     font-weight: bolder;     background: linear-gradient(to right, lavender,#fef6f4);     /*border-radius: 20px;*/ } input {     border-radius: 15px;     background: linear-gradient(90deg, #fa5a55, #fa9940);     border-radius: 10px; }    

这个页面是超市管理的页面查询操作的对象是经理对数据的增删改查

超市订单管理系统

<% List<Map> list = (List<Map>) request.getAttribute("providers"); %> <% for (int i = 0; i
主键Id 供应商编码 供应商名称 供应商详细描述 供应商联系人 联系电话 地址 传真 操作内容修改 操作内容删除 增加一条记录

<a href="GetProvider.do?index="> <a href="DeleteProvider.do?id="> 添加供应商
返回顶部
超市订单管理系统--供应商列表*{font-family: 楷体;font-size: 18px;color:black ;font-weight: bolder;background: linear-gradient(to right,#ffffff,#ece8e8);border-radius: 20px;}input{border-radius: 15px;background: linear-gradient(90deg, #fa5a55, #fa9940);border-radius: 10px;}h2{border-top: 4px #53bbed dashed;border-bottom: 4px solid red;opacity: 0.7;background: linear-gradient(18deg, #ffffff, #c6dbf8)border-radius: 20px;/*border:  2px lightskyblue dashed;*/}#longin{background: linear-gradient(180deg, #4c92ed, #52b8ed);border-radius: 20px;}form{background: linear-gradient(180deg, #aceda4, #52b8ed);border-radius: 20px;}#tablie{background: linear-gradient(90deg, #aceda4, #4c92ed);border-radius: 20px;}

这个页面是超市管理的页面查询操作的对象是普通员工负责查询

超市订单管理系统

<% List<Map> list=(List<Map>)request.getAttribute("providers"); %><% for(int i=0;i
主键Id供应商编码供应商名称供应商详细描述供应商联系人联系电话地址传真

上面页面效果展示。

 

 

项目完成后的运行效果


 从数据Dao层开始。

//查询所有供应商信息  查询数据信息    //select * from smbms_provider    @Select("select * from smbms_provider")    List<Map> getProviders();

在service层中定义接口文件

 List<Map> getProviders();

在Service层的实现类中

 @Override    public List<Map> getProviders() { System.out.println("查到逻辑层实现类"); return dao.getProviders();    }

注意:上面代码要加上这些内容。

package com.smbms.service;import com.smbms.dao.IProviderDao;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;import java.util.Map;@Service(value = "pService")public class ProviderServiceImp implements IProviderService {    @Autowired    IProviderDao dao;    @Override    public List<Map> getProviders() { System.out.println("查到逻辑层实现类"); return dao.getProviders();    }}

 @Autowired     IProviderDao dao;   对象的自动写入。

在控制层中。

package com.smbms.controller;import com.smbms.entity.Tb_User;import com.smbms.service.IProviderService;import com.smbms.utils.SMBMSUtil;import org.apache.ibatis.annotations.Param;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpSession;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;/** * 供应商管理: * 1.如果是系统管理员,不具备操作供应商的功能 * 2.如果是经理,经理有权利去添加,删除,修改和查询供应商 * 3.如果是普通员工,查询供应商详情信息 */@Controllerpublic class ProviderControllerImp implements IProviderController{    @Autowired    IProviderService pService;    //定义全局变量 将list集合调用Map的方式定义为全局变量.    List<Map> providers = null;    //定义方法,根据当前登录的用户的身份进行展示供应商的功能  GetProviderList.do    @RequestMapping("/GetProviderList.do")    public ModelAndView GetProviderList(HttpSession session) { ModelAndView mav = new ModelAndView(); //从session中获得登录的用户的个人信息 Map userInfo = (Map) session.getAttribute("userInfo"); //从个人信息中找到用户的身份 int userRole = (int) userInfo.get("userRole"); providers = pService.getProviders(); System.out.println(providers); mav.addObject("providers", providers); if (userRole == 2) {     //经理,要查看供应商信息,而且添加,修改,删除供应商     mav.setViewName("providerList"); } else {     //普通员工,只能查看所有供应商信息     mav.setViewName("providerList2"); } return mav;    }}

  @Autowired    IProviderService pService;  

重点在下面

   if (userRole == 2) {
            //经理,要查看供应商信息,而且添加,修改,删除供应商
            mav.setViewName("providerList");
        } else {
            //普通员工,只能查看所有供应商信息
            mav.setViewName("providerList2");
        }
        return mav;
    }


下篇文章讲述第六课在供应商中增加一条数据。

哈尔滨保险