• 用户管理系统(五)——删除用户



    前言

    这是一篇比较水的博客,首先来说一下这篇博客,今天我来说下删除用户怎么删除,删除用户就是对数据库进行删除数据(delete),还只是停留在对数据的增删改查,但是直接使用delete语句进行删除的话那么会直接将表中所有数据删除,所以我们将进行条件删除(where),那么条件是什么呢,对于一个用户来说,条件肯定是他的唯一值,那么就可以确定是id因为name可能会有重名的人。


    效果演示

    首先依旧进入这个熟悉的用户列表
    在这里插入图片描述
    在这里我们能看到当前数据是11条,ps:这里是用了一个分页查询后续我会为大家讲解这里只是为了方便大家看到总记录数然后我们删除框中的用户
    在这里插入图片描述
    因为删除的操作一般来说是一个比较谨慎的操作所以在这里我会设置一个弹窗来跟用户确认是否删除。然后这里是根据前面编号也就是用户的id来进行删除的
    在这里插入图片描述
    确认删除后也会提示用户删除成功
    在这里插入图片描述
    然后这里我们可以看到框中的用户消失了,且记录数变成10
    在这里插入图片描述
    总结一下,我觉得删除操作是一个比较简单的操作

    二、前端

    在这里插入图片描述
    这里是通过a标签来发送请求给后台servlet进行对数据库的更新同时绑定deleteUser方法来对用户进行删除确认,同时将id传给后台servlet
    在这里插入图片描述
    这里直接通过location.href跳转到servlet

    三、后台

    @WebServlet("/delUserServlet")
    public class DeleteUserServlet extends HttpServlet {
        private UserService userService;
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            response.setContentType("text/html;charset=utf-8");
            int id = Integer.parseInt(request.getParameter("id"));
            //System.out.println(id);
            userService= SpringUtil.getBean(this.getServletContext(), UserService.class);
            PrintWriter out = response.getWriter();
            boolean flag=userService.deleteuser(id);
            System.out.println(flag);
            if(flag){
                out.print("");
            }else{
                out.print("");
            }
        }
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request,response);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    这里其实就是post请求,但是我doGet中调用doPost只是图个方便,就我不用管他是什么请求我都可以去执行,假如是get请求,即使逻辑代码写在doPost中,doGet方法中调用了doPost方法,也能执行其逻辑代码,虽然说这是个偷懒的办法,但是我们自己还是应该清楚它到底是个什么请求
    在这里插入图片描述
    大部分逻辑代码跟之前的基本差不多我也就不细讲了,这里是对删除操作的一个判断,假如删除成功则跳转到用户列表页面否则跳转到首页,其中flag是executeUpdate()放回出来的受影响行数,下图中是service层逻辑代码,假如受影响行数大于0则返回true,从而判断是否删除成功
    在这里插入图片描述
    这是sql语句

    delete from tb_emp where id = ?;
    
    • 1

    然后删除大概就是这么一个过程,然后说一下自己的感想吧,我觉得就目前来说的所有操作都来源于一副图,就是流程图(前面有讲),只要流程弄得清楚,那么至少我们自己不会被代码牵着鼻子走,我们能知道我们下一步该干什么,该怎么做,那么其实我们就完成百分之七八十了,然后就是基本的逻辑代码书写,这里其实都是弱业务,只需要各种调用就可以了,可能难得话就是前端将数据传给后端,后端传给前端有点迷糊吧,这里我也说一下我的看法,前端传给后台需要使用到form表单或者采用Restful风格方式,但是很多人有时候传不过去是因为丢失了name,然后后台传给前端就先存储到域中然后前端从域中拿取数据,或者json,json后面我会为大家讲解。然后接下里就需要使用web三剑客之类得,比如过滤器啊,cookie啊,文件上传啊,过滤器在这边我是用得方式是进行拦截未登录得用户,就是用户没有登录那么它就只能看数据不能对数据进行修改,然后cookie就是将用户得账户密码保存在浏览器中由cookie出来的session域,文件上传得上传头像啊,然后分页查询,跟高级查询讲一下,最后假如时间足够多的话我会慢慢得用框架将这个项目封装起来,使用ssm框架,就是spring mvc, spring,Mybatis,到时候就会发现代码越写越少,就会发现编程之美。

  • 相关阅读:
    Gateway服务网关
    还记得这首是什么歌吗?
    Windows系统Android Studio断点调试Android源码
    [论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比
    django开发简易流程
    基于ASAM ODS标准的试验数字化平台-WDP
    SpringCloud(十)——ElasticSearch简单了解(三)数据聚合和自动补全
    JavaScript之DOM常用属性及方法详解
    C#冒泡排序
    手动下载/安装Xcode的simulator
  • 原文地址:https://blog.csdn.net/weixin_45554007/article/details/126830859