ssm实现修改模块无法拿到用户ID

您所在的位置:网站首页 ssm整合后获取不到数据库的数据 ssm实现修改模块无法拿到用户ID

ssm实现修改模块无法拿到用户ID

2024-07-16 16:56| 来源: 网络整理| 查看: 265

文章目录 问题描述一、代码1.Controller1.1获取该条数据信息1.2修改数据信息,跳转页面 2.Service2.1 通过调用持久层实例化对象通过Id拿到该条信息数据2.2 调用持久层实例化对象修改数据信息 二、Idea调试1.错误案例演示1.1 查询所有信息1.2 点击编辑链接获取该条数据信息1.3 显示该条数据信息1.4 修改信息1.5 提交数据查看控制台信息 三、问题所在

问题描述

       使用Mybatis+Spring+SpringMVC集成框架完成数据修改时,我发现我写的代码无法成功修改数据库里面的内容,我可以拿到该条数据的所有信息,但是在我修改时信息就会丢失,经过调试我发现问题所在,直接上代码。

一、代码 1.Controller 1.1获取该条数据信息

代码如下:

@RequestMapping("getUserByUid") public String getUserByUid(Model model,int uid){ User user = userService.getUserByUid(uid); System.out.println(user + "---------getUser"); model.addAttribute("user",user); return "updateUser"; } 1.2修改数据信息,跳转页面

代码如下:

@RequestMapping("updateUser") public String updateUser(User user){ userService.updateUser(user); return "redirect:getlist"; } 2.Service 2.1 通过调用持久层实例化对象通过Id拿到该条信息数据

代码如下:

@Override public User getUserByUid(int uid) { return userMapper.selectByPrimaryKey(uid); } 2.2 调用持久层实例化对象修改数据信息

代码如下:

@Override public void updateUser(User user) { System.out.println(user + "-------updateUser"); int i = userMapper.updateByPrimaryKeySelective(user); System.out.println(i); } 二、Idea调试 1.错误案例演示 1.1 查询所有信息

获取到所有数据信息

1.2 点击编辑链接获取该条数据信息

获取到所有数据信息 可以从控制台看到我已经拿到了该条数据的所有信息,注意我此时是获取到该条数据的ID 信息的。

1.3 显示该条数据信息

成功显示所有数据

1.4 修改信息

修改的数据信息

1.5 提交数据查看控制台信息

修改提交的数据信息不全

可以通过ID拿到具体数据的全部信息,但是在修改的时候却不能拿到跟上次相同的信息,问题就出现在修改数据时传数据的地方,我检查了前端jsp页面发现了问题所在。 三、问题所在

jsp代码如下:

名字: 年龄: 性别:女 男 地址: 后台通过ID拿到数据传给该页面,该页面通过el表达式拿到数据,而后来的修改数据是通过该页面再次传给后台处理的,可以看到我这里并没有将ID的信息传给后台,问题就出在这里,真的是小问题大麻烦。

在form表单中添加ID属性:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3