2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第六课对供应商管理的增加一条记录)。
目录
2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第六课对供应商管理的增加一条记录)
addProvider.do
在 addProvider页面上:
依照上面的访问画个流程出来。
这又是增加一条记录的内容。的访问流程
从dao层开始
在service层中接口中定义方法。
控制层中:
首先定义一个方法跳转页面
效果图
@RequestMapping(value = "/toAddProvider.do", params = {"proCode", "proName", "proDesc", "proContact", "proPhone", "proAddress", "proFax"})
接收浏览器的七个数据
定义方法
//接收七个数据进行存放起来 public String toAddProvider(String proCode, String proName, String proDesc, String proContact, String proPhone, String proAddress, String proFax, HttpSession session) {//Map调用List的集合方式将数据存放给的数据 方便数据 转送起来
//Map调用List的集合方式将数据存放给的数据 方便数据 转送起来 //Map的方式封装 Map map = new HashMap(); //供应商编号 map.put("proCode", proCode); //供应商名称 map.put("proName", proName); //供应商业务 map.put("proDesc", proDesc); //供应商联系人 map.put("proContact", proContact); //供应商联系电话 map.put("proPhone", proPhone); //供应商地址 map.put("proAddress", proAddress); //供应商传真 map.put("proFax", proFax); /* //获得当前登录的经理的id map.put("createdBy", ((Tb_User) session.getAttribute("userInfo")).getId()); //获得当前添加供应商的实时时间 map.put("creationDate", SMBMSUtil.getDateTime());*/ //加入管理员的id,,,,createdBy map.put("createdBy", ((Map) session.getAttribute("userInfo")).get("id")); //creationDate添加新用户的实时时间 //利用SimpleDateFormat的类获得实时时间内容 map.put("creationDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); //将数据发到业务逻辑层,>,>
用户判断
//将数据发到业务逻辑层 int i = pService.addProvider(map); if (i > 0) //增加成功刷新页面 // return "redirect:GetProviderList.do"; 重定向的方式 将数据成功 跳到主页面刷新页面 return "redirect:GetProviderList.do"; else return "redirect:errorAddProvider.do";
}
@RequestMapping(value = "/errorAddProvider.do", produces = {"text/html;charset=UTF-8"})@ResponseBodypublic String error() { return "添加供应商失败";}
代码
学习在于自己的理解
2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第六课对供应商管理的增加一条记录)
添加供应商
addProvider.do
@RequestMapping("/addProvider.do") public String addpr() { return "addProvider"; }
在 addProvider页面上:
@RequestMapping(value = "/toAddProvider.do", params = {"proCode", "proName", "proDesc", "proContact", "proPhone", "proAddress", "proFax"}) //接收七个数据进行存放起来 // params = {"proCode", "proName", "proDesc", "proContact", "proPhone", "proAddress", "proFax"} //接收七个数据进行存放起来 public String toAddProvider(String proCode, String proName, String proDesc, String proContact, String proPhone, String proAddress, String proFax, HttpSession session) {//Map调用List的集合方式将数据存放给的数据 方便数据 转送起来
//将数据发到业务逻辑层 int i = pService.addProvider(map); if (i > 0) //增加成功刷新页面 // return "redirect:GetProviderList.do"; 重定向的方式 将数据成功 跳到主页面刷新页面 return "redirect:GetProviderList.do"; else return "redirect:errorAddProvider.do"; } @RequestMapping(value = "/errorAddProvider.do", produces = {"text/html;charset=UTF-8"}) @ResponseBody public String error() { return "添加供应商失败"; }
依照上面的访问画个流程出来。
这又是增加一条记录的内容。的访问流程
从dao层开始
@Insert("insert into smbms_provider(proCode,proName,proDesc,proContact," + "proPhone,proAddress,proFax,createdBy,creationDate) values(#{proCode},#{proName}," + "#{proDesc},#{proContact}," + "#{proPhone},#{proAddress},#{proFax}," + "#{createdBy},#{creationDate})") int add(Map map);
在service层中接口中定义方法。
package com.smbms.service;import org.springframework.stereotype.Service;import java.util.List;import java.util.Map;public interface IProviderService { List<Map> getProviders(); //添加供应商 //返回值为 int 方法为 addProvider(Map map) int addProvider(Map map);}
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(); } @Override public int addProvider(Map map) { return dao.add(map); }}
控制层中:
首先定义一个方法跳转页面
/** * 定义方法跳转页面 * 增加供应商的信息 */ //当一点击增加数据的button时数据要到另一个页面中增加数据详细信息内容这个页面为addProvider.do" //信息增加完成后用户将数据跳到 toAddProvider.do方法 接收七个数据信息 浏览器接收的七个数据 // params = {"proCode", "proName", "proDesc", "proContact", "proPhone", "proAddress", "proFax"}) //然后利用 Map map = new HashMap(); // Map map = new HashMap(); // toAddProvider.do @RequestMapping("/addProvider.do") public String addpr() { return "addProvider"; }
效果图
@RequestMapping(value = "/toAddProvider.do",
params = {"proCode", "proName", "proDesc", "proContact", "proPhone", "proAddress", "proFax"})
接收浏览器的七个数据
定义方法
//接收七个数据进行存放起来
public String toAddProvider(String proCode, String proName, String proDesc,
String proContact, String proPhone, String proAddress, String proFax,
HttpSession session) {
//Map调用List的集合方式将数据存放给的数据 方便数据 转送起来
//Map调用List的集合方式将数据存放给的数据 方便数据 转送起来
//Map的方式封装
Map map = new HashMap();
//供应商编号
map.put("proCode", proCode);
//供应商名称
map.put("proName", proName);
//供应商业务
map.put("proDesc", proDesc);
//供应商联系人
map.put("proContact", proContact);
//供应商联系电话
map.put("proPhone", proPhone);
//供应商地址
map.put("proAddress", proAddress);
//供应商传真
map.put("proFax", proFax);
/* //获得当前登录的经理的id
map.put("createdBy", ((Tb_User) session.getAttribute("userInfo")).getId());
//获得当前添加供应商的实时时间
map.put("creationDate", SMBMSUtil.getDateTime());*/
//加入管理员的id,,,,createdBy
map.put("createdBy", ((Map) session.getAttribute("userInfo")).get("id"));
//creationDate添加新用户的实时时间
//利用SimpleDateFormat的类获得实时时间内容
map.put("creationDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
//将数据发到业务逻辑层
用户判断
//将数据发到业务逻辑层
int i = pService.addProvider(map);
if (i > 0)
//增加成功刷新页面
// return "redirect:GetProviderList.do"; 重定向的方式 将数据成功 跳到主页面刷新页面
return "redirect:GetProviderList.do";
else
return "redirect:errorAddProvider.do";
}
@RequestMapping(value = "/errorAddProvider.do",
produces = {"text/html;charset=UTF-8"})
@ResponseBody
public String error() {
return "添加供应商失败";
}
代码
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; } /** * 定义方法跳转页面 * 增加供应商的信息 */ //当一点击增加数据的button时数据要到另一个页面中增加数据详细信息内容这个页面为addProvider.do" //信息增加完成后用户将数据跳到 toAddProvider.do方法 接收七个数据信息 浏览器接收的七个数据 // params = {"proCode", "proName", "proDesc", "proContact", "proPhone", "proAddress", "proFax"}) //然后利用 Map map = new HashMap(); // Map map = new HashMap(); // toAddProvider.do @RequestMapping("/addProvider.do") public String addpr() { return "addProvider"; } /** * * @param proCode * @param proName * @param proDesc * @param proContact * @param proPhone * @param proAddress * @param proFax * @param session * @return * 定义方法,用于接收新供应商的信息 定义方法用于增加供应商 */ @RequestMapping(value = "/toAddProvider.do", params = {"proCode", "proName", "proDesc", "proContact", "proPhone", "proAddress", "proFax"}) //接收七个数据进行存放起来 // params = {"proCode", "proName", "proDesc", "proContact", "proPhone", "proAddress", "proFax"} //接收七个数据进行存放起来 public String toAddProvider(String proCode, String proName, String proDesc, String proContact, String proPhone, String proAddress, String proFax, HttpSession session) {//Map调用List的集合方式将数据存放给的数据 方便数据 转送起来 //Map的方式封装 Map map = new HashMap(); //供应商编号 map.put("proCode", proCode); //供应商名称 map.put("proName", proName); //供应商业务 map.put("proDesc", proDesc); //供应商联系人 map.put("proContact", proContact); //供应商联系电话 map.put("proPhone", proPhone); //供应商地址 map.put("proAddress", proAddress); //供应商传真 map.put("proFax", proFax); /* //获得当前登录的经理的id map.put("createdBy", ((Tb_User) session.getAttribute("userInfo")).getId()); //获得当前添加供应商的实时时间 map.put("creationDate", SMBMSUtil.getDateTime());*/ //加入管理员的id,,,,createdBy map.put("createdBy", ((Map) session.getAttribute("userInfo")).get("id")); //creationDate添加新用户的实时时间 //利用SimpleDateFormat的类获得实时时间内容 map.put("creationDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); //将数据发到业务逻辑层 int i = pService.addProvider(map); if (i > 0) //增加成功刷新页面 // return "redirect:GetProviderList.do"; 重定向的方式 将数据成功 跳到主页面刷新页面 return "redirect:GetProviderList.do"; else return "redirect:errorAddProvider.do"; } @RequestMapping(value = "/errorAddProvider.do", produces = {"text/html;charset=UTF-8"}) @ResponseBody public String error() { return "添加供应商失败"; }}