今日目标:
- 完成SSM项目中的修改功能
- 使用分页插件pageHelper完成页面检索功能的分页
根据ID值进行修改
从user-list进入修改页面
<a href="${pageContext.request.contextPath}/user/updSelUserById.do?id=${user.id}" class="btn bg-olive btn-xs">更新</a>
<a href="${pageContext.request.contextPath}/user/delUser.do?id=${user.id}" class="btn bg-olive btn-xs">删除</a>
<a href="#" class="btn bg-olive btn-xs">添加角色</a>
对着按钮的点击要同步更新到页面
修改前要查询 根据ID进行查询,返回单个的User用户,之后在进行修改
Dao
// 修改前的查询
UserInfo updSelUserInfoById(int id);
// 修改
void updUserInfo(UserInfo userInfo);
Mapper
<select id="updSelUserInfoById" parameterType="Integer" resultType="com.zhongruan.bean.UserInfo">
select * from tb_user where id=#{id}
</select>
<!-- 修改 -->
<update id="updUserInfo" parameterType="com.zhongruan.bean.UserInfo">
update tb_user set username=#{username}, password=#{password} where id=#{id}
</update>
Service以及Impl
UserInfo updSelUserInfoById(int id);
void updUserInfo(UserInfo userInfo);
|
@Override
public UserInfo updSelUserInfoById(int id) {
return userInfoDao.updSelUserInfoById(id);
}
@Override
public void updUserInfo(UserInfo userInfo) {
userInfoDao.updUserInfo(userInfo);
}
Controller
代码
// 修改前的查询
// JDBC 和 Mybatis 有什么区别
@RequestMapping("/updSelUserById.do")
public ModelAndView updSelUserInfoById(int id){
UserInfo userInfo = userInfoService.updSelUserInfoById(id);
ModelAndView mv = new ModelAndView();
mv.addObject("userInfo",userInfo);
mv.setViewName("user-update");
return mv;
}
// 修改
@RequestMapping("/updUserInfo.do")
public String updUserInfo(UserInfo userInfo){
userInfoService.updUserInfo(userInfo);
System.out.println("修改成功");
return "redirect:findAll.do";
}
把数据传过去了但值还没有取,在user-update里面,value属性要记住,以后新项目要自己加
修改前的查询就完成了
用户信息
id
<div class="col-md-2 title">用户名称</div>
<div class="col-md-4 data">
<input type="text" class="form-control" name="username"
placeholder="用户名称" value="${userInfo.username}">
</div>
<div class="col-md-2 title">密码</div>
<div class="col-md-4 data">
<input type="text" class="form-control" name="password"
placeholder="密码" value="${userInfo.password}">
</div>
</div>
</div>
修改
在user-update里面
<form action="${pageContext.request.contextPath}/user/updUserInfo.do"
分页插件pageHelper
- 在Pom.xml中导包
- 在ApplicationCntext.xml中把架包告诉给SqlSessionfactory。
- 在Service中指定 page和 size
- Controller 把得到的结果封装到 PageInfo中在进行使用ModelAndView返回