ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-12-18 11:00:46  阅读:188  来源: 互联网

标签:updateUser 该条 信息 ssm 修改 user 模块 数据 ID


文章目录


问题描述

       使用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代码如下:

<form action="updateUser" method="post">
		名字:<input type="text" name="uname" value="${user.uname}"><br>
		年龄:<input type="text" name="age" value="${user.age}"><br>
		性别:<input type="radio" value="女" name="sex" <c:if test="${user.sex eq '女'}" >checked</c:if> >女
		<input type="radio" value="男" name="sex" <c:if test="${user.sex eq '男'}">checked</c:if> >男
		<br>
		地址:<input type="text" name="address" value="${user.address}"><br>
		<input type="submit" value="修改用户">
		<input type="button" value="取消">
	</form>

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

在form表单中添加ID属性:

<input type="hidden" name="uid" value="${user.uid}">

标签:updateUser,该条,信息,ssm,修改,user,模块,数据,ID
来源: https://blog.csdn.net/panerge_666/article/details/122008720

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有