黑马javaWeb综合案例--修改篇

具体流程:

  • 用户点击修改按钮,回显数据,修改数据,通过异步请求将数据以JSON的形式传给后端
  • servlet层拿到数据转为相应的实体类,再调用service方法
  • service层再调用mapper层修改数据库数据

  1. mapper层:写sql语句及方法
    @Update("update tb_brand set brand_name=#{brandName},company_name=#{companyName}" +
                ",ordered=#{ordered},description=#{description},status=#{status} where id= #{id}")
        @ResultMap("brandResultMap")
        void updateById(Brand brand);

  2. service层:接口中编写方法,重写方法
     @Override
        public void updateById(Brand brand) {
            //2.获取SqlSession对象
            SqlSession sqlSession = factory.openSession();
            //3.获取BrandMapper
            BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);
            mapper.updateById(brand);
            sqlSession.commit();
            sqlSession.close();
        }

  3. servlet:读取前端JSON数据,转为实体类数据
     public void updateById(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            BufferedReader br = req.getReader();
            String params = br.readLine();
            //2.反序列化,将JSON转换为Brand对象
            Brand brand = JSON.parseObject(params, Brand.class);
            brandService.updateById(brand);
            //4.响应成功的标识
            resp.getWriter().write("success");
        }

  4. 前端:
    //第一步:绑定单击事件
    
    
                  修改
                    删除
                    
    
    
    //第二步:添加对话框表单
    
     
        
            
                
                    
                    
    
                
                
                    
                
    
                
                    
                
    
                
                    
                
    
                
                    
                
    
    
                
                    提交
                    取消
                
    
    
            
    
        
    
    //第三步:
    
    data() {
                return {
                    row:{},
                    index:0,
    }
    
    //第四步:
    
    updateById(row){
                    this.dialogVisible = true;
                    this.updatebrand  = row ;
    
                },updateBrand(){
                    axios({
                        method:"post",
                        url:"http://localhost:8080/brand-case/brand/updateById",
                        data:this.updatebrand
                    }).then((resp)=>{
                        if (resp.data=="success"){
                            this.dialogVisible =false ;
                            this.selectAll();
                            this.$message({
                                message: '修改数据成功!',
                                type: 'success'
                            })
                        }
                    })
                }

你可能感兴趣的:(spring,java,后端)