IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第七课对供应商管理的修改一条记录与删除)。 -> 正文阅读

[Java知识库]2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第七课对供应商管理的修改一条记录与删除)。

目录

2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第七课对供应商管理的修改一条记录和删除一条记录)。

经历上面第六课博客的理解上本博客的修改访问流程如同增加一样流程不在说明。直接开始干。

首先定义一个修改的页面。页面修改后服务器要接收到浏览器要修改的内容?然后返回到数据库中访问。

请看代码。

Jsp页面

增删改查的效果内容如下。

?增加之后修改

?修改内容如下

?删除

下篇文章进入到订单管理涉及到多表查询。


2022年5月四号博客内容SSM框架项目管理-------------超市管理系统(第七课对供应商管理的修改一条记录和删除一条记录)。

经历上面第六课博客的理解上本博客的修改访问流程如同增加一样流程不在说明。直接开始干。

首先定义一个修改的页面。页面修改后服务器要接收到浏览器要修改的内容?然后返回到数据库中访问。

请看代码。

package com.smbms.controller;

import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpSession;

public interface IProviderController {
    public ModelAndView GetProviderList(HttpSession session);
    public String addpr();
    public String toAddProvider(String proCode, String proName, String proDesc,
                                String proContact, String proPhone, String proAddress, String proFax,
                                HttpSession session);
    public String error();
    public ModelAndView GetProvider(@RequestParam int index);
    public String UpdateProvider(long id, String proCode, String proName, String proDesc,
                                 String proContact, String proPhone, String proAddress, String proFax,
                                 HttpSession session);


    public String errorUpdate();
    public String DeleteProvider(@RequestParam long id);





}
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.如果是普通员工,查询供应商详情信息
 */
@Controller
public class ProviderControllerImp implements IProviderController{
    @Autowired
    IProviderService pService;
    //定义全局变量 将list集合调用Map的方式定义为全局变量.
    List<Map<String, Object>> providers = null;

    //定义方法,根据当前登录的用户的身份进行展示供应商的功能  GetProviderList.do
    @RequestMapping("/GetProviderList.do")
    public ModelAndView GetProviderList(HttpSession session) {
        ModelAndView mav = new ModelAndView();
        //从session中获得登录的用户的个人信息
        Map<String, Object> userInfo = (Map<String, Object>) 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<String, Object> map = new HashMap<>();
    // Map<String, Object> 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<String, Object> 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<String, Object>) 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 "添加供应商失败";
    }


    //定义方法,用于将要修改的供应商信息发送给修改页面UpdateProvider.do 修改数据的内容
    @RequestMapping("/GetProvider.do")
    public ModelAndView GetProvider(@RequestParam int index) {
        //根据下标获得将要修改的供应商信息
        Map<String, Object> map = providers.get(index);
        //利用SpringMvc中 ModelAndView mav = new ModelAndView(); 跳转 带上数据进行跳转
        ModelAndView mav = new ModelAndView();
        //将数据发送上去
        mav.addObject("providers", map);
        //跳转的页面
        mav.setViewName("updateProvider");
        return mav;
    }


    //定义方法,接收修改页面发送的供应商信息 并刷新页面的信息与数据
    // params = {"id", "proCode", "proName", "proDesc", "proContact", "proPhone", "proAddress", "proFax"})
    //服务器要接收浏览器发送过来的七个数据信息
    @RequestMapping(value = "/UpdateProvider.do",
            params = {"id", "proCode", "proName", "proDesc", "proContact", "proPhone", "proAddress", "proFax"})

    //服务器要接收浏览器传过来的8个数据
    public String UpdateProvider(long id, String proCode, String proName, String proDesc,
                                 String proContact, String proPhone, String proAddress, String proFax,
                                 HttpSession session) {
        //Map调用List的集合方式将数据存放给的数据 方便数据 转送起来
        //Map的方式封装
        Map<String, Object> map = new HashMap<>();
        //供应商编号
        map.put("id", id);
        //供应商名称
        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("modifyBy", ((Map<String, Object>) session.getAttribute("userInfo")).get("id"));
        //modifyDate修改用户的实时时间
        map.put("modifyDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
        int i = pService.update(map);
        if (i > 0)
            return "redirect:GetProviderList.do";
        else
            return "redirect:errorUpdateProvider.do";
    }

    @RequestMapping(value = "/errorUpdateProvider.do",
            produces = {"text/html;charset=UTF-8"})
    @ResponseBody
    public String errorUpdate() {
        return "修改供应商失败";
    }


    //删除
    @RequestMapping("/DeleteProvider.do")
    public String DeleteProvider(@RequestParam long id) {
        int i = pService.delepr(id);
        String url = "";
        if (i > 0) {
            System.out.println("供应商数据删除成功");
            //修改成功
            url = "redirect:GetProviderList.do";
        } else
            System.out.println("删除失败");
        return url;
    }


}

package com.smbms.service;

import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

public interface IProviderService {

    List<Map<String, Object>> getProviders();

    //添加供应商
    //返回值为 int 方法为  addProvider(Map<String,Object> map)
    int addProvider(Map<String, Object> map);


    //修改数据
    int update(Map<String, Object> map);

    //删除语句
    int delepr(long id);


}
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<String, Object>> getProviders() {
        System.out.println("查到逻辑层实现类");
        return dao.getProviders();
    }



    @Override
    public int addProvider(Map<String, Object> map) {
        return dao.add(map);
    }



    @Override
    public int update(Map<String, Object> map) {
        return dao.update(map);

    }

    @Override
    public int delepr(long id) {
        return dao.delpr(id);
    }


}
package com.smbms.dao;

import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Map;

public interface IProviderDao {
    //查询所有供应商信息  查询数据信息
    //select * from smbms_provider
    @Select("select * from smbms_provider")
    List<Map<String, Object>> getProviders();

    //添加供应商

    /**
     *  @Insert("insert into smbms_provider(proCode,proName,proDesc,proContact," +
     *             "proPhone,proAddress,proFax,createdBy,creationDate)
     *values
     * (#{proCode},#{proName},#{proDesc},#{proContact}," +
     *             "#{proPhone},#{proAddress},#{proFax}," +
     *             "#{createdBy},#{creationDate})")
     *             利用#{字段名代替}
     * @param map
     * @return
     */
    @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<String,Object> map);

    /**
     *    @Update("update smbms_provider set proCode=#{proCode},proName=#{proName}," +
     *             "proDesc=#{proDesc},proContact=#{proContact},proPhone=#{proPhone}," +
     *             "proAddress=#{proAddress},proFax=#{proFax},modifyBy=#{modifyBy}," +
     *             "modifyDate=#{modifyDate} where id=#{id}")
     * @param map
     * @return
     */

    //修改供应商@Update("")
    @Update("update smbms_provider set proCode=#{proCode},proName=#{proName}," +
            "proDesc=#{proDesc},proContact=#{proContact},proPhone=#{proPhone}," +
            "proAddress=#{proAddress},proFax=#{proFax},modifyBy=#{modifyBy}," +
            "modifyDate=#{modifyDate} where id=#{id}")
    int update(Map<String,Object> map);


    /**
     *
     * @param id
     * @return
     */
    //删除用户id 供应商
    @Delete("delete from  smbms_provider where id=#{id} ")
    int delpr(@Param("id") long id);
}

Jsp页面

<%@ page import="java.util.Map" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
		 pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>超市订单管理系统--修改供应商</title>
	<style>
		* {
			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;


		}
	</style>
</head>
<body>
	<div style="width: 1200px;height: 800px;margin: auto;">
		<div style="width: 100%;height: 160px;background-color:skyblue;">
			<div  style="width: 100%;height: 20px;">
			
				<div align="left" style="width: 20%;height: 100%;float: left;" >
					&nbsp;<a href="home.do" style="text-decoration: none;">返回首页</a>
				</div>
			
			<div align="right" style="width: 80%;height: 100%;float: right;">
				<a>欢迎,<span style="color: red;">${userInfo.userName}</span></a>
				&nbsp;&nbsp;<a href="index.do" style="text-decoration: none;">注销</a>&nbsp;
			</div>
			
			</div>
			<div align="center" style="width: 100%;height: 140px;line-height: 140px;"><h1>超市订单管理系统</h1></div>
		</div>
		<%--list调用Map集合的方式--%>
		<% Map<String,Object> provider=(Map<String,Object>)request.getAttribute("providers"); %>
		<div align="center" style="width: 100%;height: 640px;background-color: pink;">
			<form action="UpdateProvider.do" method="post">
				<!-- 完成修改功能的时候,需要将主键id隐藏存储在表单页面上
					因为在完成修改的sql语句的同时,是需要条件,只有主键id是不允许被修改的,
					那么能作为条件去修改数据库表中的数据只有主键id
				 -->
				<input type="hidden" name="id" value="<%=provider.get("id") %>">
				<div style="padding: 5px 0px">
				<label for="proCode">供应商编码:</label>&nbsp;
				<input id="proCode" name="proCode" value="<%=provider.get("proCode") %>" type="text" placeholder="请输入供应商编码" />
				</div>
				<div style="padding: 5px 0px">
				<label for="proName">供应商名称:</label>&nbsp;
				<input id="proName" name="proName" value="<%=provider.get("proName") %>" type="text" placeholder="请输入供应商名称" />
				</div>
				<div style="padding: 5px 0px">
				<label >供应商详细描述:</label><br/>
				<textarea rows="5" cols="40" name="proDesc"  placeholder="请输入主营产品内容"><%=provider.get("proDesc") %></textarea>
				</div>
				<div style="padding: 5px 0px">
				<label >供应商联系人:</label>&nbsp;
				<input type="text" name="proContact" value="<%=provider.get("proContact") %>" placeholder="请输入联系人姓名">
				</div>
				<div style="padding: 5px 0px">
				<label >联系电话:</label>&nbsp;
				<input type="number" name="proPhone" value="<%=provider.get("proPhone") %>" placeholder="请输入手机号" >
				</div>
				<div style="padding: 5px 0px">
				<label >地址:</label>&nbsp;
				<input type="text" name="proAddress" value="<%=provider.get("proAddress") %>" placeholder="请输入地址" >
				</div>
				<div style="padding: 5px 0px">
				<label >传真:</label>&nbsp;
				<input type="text" name="proFax" value="<%=provider.get("proFax") %>" placeholder="请输入传真号码" >
				</div>
				<div style="padding: 5px 0px">
					<input type="submit"
					  value="修改供应商信息" 
					 style="background-color: green;
					 border: none;padding: 5px;border-radius: 5px;
					 color: white;"/>
				</div>
			</form>
			
		
		</div>
	</div>
</body>
</html>

增删改查的效果内容如下。

?

?

?增加之后修改

?修改内容如下

?

?删除

?


下篇文章进入到订单管理涉及到多表查询。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:04:09  更:2022-05-05 11:04:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:19:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码