上课部分
<a href="${pageContext.request.contextPath}/user/toUpDate.do?id=${user.id}" class="btn bg-olive btn-xs">更新</a>
@RequestMapping("/toUpDate.do")
public ModelAndView toUpDate(int id){
User user=userService.selectUserById(id);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("user-update");
modelAndView.addObject("user",user);
return modelAndView;
}
@Override
public User selectUserById(int id){
return userDao.selectUserById(id);
}
<select id="selectUserById" parameterType="int" resultType="user">
select * from tb_user where id=#{id}
</select>
这部分把user传到了update页面,是查询部分
作业部分
<form action="${pageContext.request.contextPath}/user/UpDate.do"
method="post">
@RequestMapping("/UpDate.do")
public String UpDate(User user){
userService.UpDate(user);
return "redirect:findAll.do";
}
@Override
public void UpDate(User user) {
userDao.UpDate(user);
}
<update id="UpDate" parameterType="user">
update tb_user set username=#{username},password=#{password} where id=#{id};
</update>
把新的user值传过去更新,想了半小时没想出来同时传入老的和新的两个id的办法,所以这里写成id无法修改
效果图