使用Spring Boot完成修改

//Controller层

/**
     * 修改
     * @param emp
     * @param response
     */
    @RequestMapping("edit.do")
    public void Edit(Emp emp,HttpServletResponse response) throws IOException {
        System.out.println(emp);
        response.setContentType("text/html;charset=UTF-8");
        int i = empSerivce.updateByPrimaryKeySelective(emp);
        System.out.println(i);
        PrintWriter Pwriter = response.getWriter();
        if(i>0){
            Pwriter.write("<script type='text/javascript'>alert('修改成功');location.href='select.do'</script>");
        }else {
            Pwriter.write("<script type='text/javascript'>alert('修改失败');location.href='editselect.do'</script>");
        }

    }

在方法中参数emp是从页面接收过来的值,要和po层的属性保持一致,在修改过程中,要注意参数,和SQL语句中的值,不要搞错了,

  <update id="updateByPrimaryKeySelective" parameterType="com.test.po.Emp" >
    update emp
    <set >
      <if test="empname != null" >
        empname = #{empname,jdbcType=VARCHAR},
      </if>
      <if test="job != null" >
        job = #{job,jdbcType=VARCHAR},
      </if>
      <if test="mgr != null" >
        mgr = #{mgr,jdbcType=INTEGER},
      </if>
      <if test="hiredate != null" >
        hiredate = #{hiredate,jdbcType=TIMESTAMP},
      </if>
      <if test="sal != null" >
        sal = #{sal,jdbcType=INTEGER},
      </if>
      <if test="comm != null" >
        comm = #{comm,jdbcType=INTEGER},
      </if>
      <if test="deptno != null" >
        deptno = #{deptno,jdbcType=INTEGER},
      </if>
    </set>
    where empno = #{empno,jdbcType=INTEGER}
  </update>

//SQL的语句,在dao层写好,不要出任何差错,不然代码执行会报错!

总结:用Spring Boot完成数据库的增删该查的时候,主要注意的就是参数!

解决方案最好就是把参数和属性保持一致!

猜你喜欢

转载自blog.csdn.net/Gadxiong/article/details/81225579