个人资料修改

个人资料

1.持久层

1.1sql语句

1.更新用户信息

update t_user set phone=?,email=? where uid = ?

1.2接口实现类

你需要修改信息,肯定是要接受到User的信息,然后返回的更改的rows是数字,直接返回值Integer

Integer updateInfoByUid(User user);

然后写xml

<update id="updateInfoByUid">
       update t_user set phone = #{phone},email = #{email},gender = #{gender} where uid = ${uid}
</update>
1.3测试方法
@Test
   public void updateInfo()
  {
       User byUid = userMapper.findByUid(7);
       System.out.println(byUid);
       byUid.setEmail("970612404@qq.com");
       byUid.setPhone("15194770566");
       byUid.setGender(0);
       Integer integer = userMapper.updateInfoByUid(byUid);
       System.out.println(integer);
       User byUid1 = userMapper.findByUid(7);
       System.out.println(byUid1);
  }

先传进一个uid,然后接收到一个user,再set一下他的值,然后再用uid获取一下,两个都输出比较一下就可

2.业务层

2.1异常添加和功能实现:

获取用户信息显示出来(session)

检查用户是否点击

     @Override
   public void updateInfo(Integer uid, String phone, String email, Integer gender) {
       User byUid = userMapper.findByUid(uid);

       if(byUid == null || byUid.getIsDelete() == 1)
      {
           throw new UserNotFoundEx("用户没有找到");
      }

       Integer integer = userMapper.updateInfoByUid(uid, phone, email, gender);
       if(integer != 1)
      {
           throw new updateException("更新数据时产生未知异常");
      }
       
  }

业务类要严格对应html的数据

2.2测试
   @Test
   public void updateInfo()
  {
       User byUid = userMapper.findByUid(7);
       System.out.println(byUid);
       Integer integer = userMapper.updateInfoByUid(7,"15194770566","970612404@qq.com",1);
       System.out.println(integer);
       User byUid1 = userMapper.findByUid(7);
       System.out.println(byUid1);
  }

 

3.控制层

3.1处理异常

暂无

3.2设计请求

1.第一个是吧session的uid,username直接显示到页面

get

get_by_uid

2.点击修改的时候数据库进行修改

3.3编写
@RequestMapping("change_password")
   public JsonResult<Void> changpassword(String oldPassword, String newPassword, HttpSession session) {
       Integer uid = (Integer) session.getAttribute("uid");
       iUserService.updatepassword(uid, oldPassword, newPassword);
       return new JsonResult<>(OK);
  }

   @RequestMapping("change_Info")
   public JsonResult<Void> change_info(String phone, String email, Integer gender, HttpSession session) {
       Integer uid = (Integer) session.getAttribute("uid");
       iUserService.updateInfo(uid, phone, email, gender);
       return new JsonResult<>(OK);
  }

 

4.前端页面

<script type="text/javascript">
   $(document).ready(function () {
       $.ajax({
           url:"/users/get_by_uid",
           data:$("#form-change-info").serialize(),
           dataType:"json",
           type:"get",
           success:function (json) {
               $("#username").val(json.data.username);
               $("#phone").val(json.data.phone);
               $("#email").val(json.data.email);

               let radio = json.data.gender == 0 ? $("#gender-female") : $("#gender-male");
               //表示给某个元素添加属性和属性值
               radio.prop("checked","checked");
          },
           error:function () {

          }
      })
  })

   $("#btn-change-info").click(function () {
       $.ajax({
           url:"/users/change_Info",
           data:$("#form-change-info").serialize(),
           dataType:"json",
           type: "post",
           success:function (json) {
               if(json.state == 200)
              {
                   alert("修改成功");
              }
               location.href="login.html";
          },
           error:function () {

          }
      })
  })
</script>

 

posted @   爽爽子的秃头生活  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示