用户管理系统搭建查询 + 更新
1. 用户管理系统模板搭建SSM
SSM框架搭建步骤和上一个日志步骤差不多,就是上次做的界面太简略,这次换了一个界面,这里就不重复描述。
2. 完成查询和更新
查询功能上次已经完成,这次重点描述更新功能。
在完成更新功能之前先要把java目录下的类都改一下名将User都改成UserInfo,因为今后要用到spring-security框架,User类会和org.springframework.security.core.userdetails.User包里的User类冲突。
编写更新功能从dao层开始,在里面添加两个方法,1.更新之前,需要获取所更新用户的信息,所以要做一个更新前的查询;2.更新之后,数据库用户信息能够同步更新。
//更新前的查询
UserInfo findUserById (int id);
//更新
void updateUserById(UserInfo userInfo);
接着去UserMapper.xml文件去完成SQL语句
<!--更新前的查询信息 通过id查询 -->
<select id="findUserById" parameterType="java.lang.Integer" resultType="com.zhongruan.bean.UserInfo">
select * from tb_user where id=#{id}
</select>
<!--修改信息 -->
<update id="updateUserById" parameterType="com.zhongruan.bean.UserInfo">
update tb_user set username=#{username},password=#{password} where id=#{id}
</update>
接着编写service接口层,将这两个方法加进去,直接复制粘贴就行,完成之后编写serviceimpl层去实现接口,直接在爆红的地方用快捷键Alt+Enter,自动实现方法。代码如下:
@Override
public UserInfo findUserById(int id) {
return userInfoDao.findUserById(id);
}
@Override
public void updateUserById(UserInfo userInfo) {
userInfoDao.updateUserById(userInfo);
}
然后编写controller层
//更新前的查询
@RequestMapping("/findUserById.do")
public ModelAndView findUserById(int id){
UserInfo userInfo=userInfoService.findUserById(id);
System.out.println("得到的id值为:"+id);
ModelAndView mv=new ModelAndView();
mv.addObject("userInfo",userInfo);
mv.setViewName("user-update");
return mv;
}
//更新
@RequestMapping("/updateUserById.do")
public String updateUserById(UserInfo userInfo){
userInfoService.updateUserById(userInfo);
return "redirect:findAllUser.do";
}
最后改一下user-list.jsp和user-update.jsp,
user-list.jsp代码如下:
<c:forEach var="user" items="${userInfoList}">
<tr>
<td><input name="ids" type="checkbox"></td>
<td>${user.id}</td>
<td>${user.username}</td>
<td>${user.password}</td>
<td class="text-center">
<a href="${pageContext.request.contextPath}/user/findUserById.do?id=${user.id}" class="btn bg-olive btn-xs">更新</a>
<a href="#" class="btn bg-olive btn-xs">删除</a>
<a href="#" class="btn bg-olive btn-xs">添加角色</a>
</td>
</tr>
user-update.jsp代码如下:
<form action="${pageContext.request.contextPath}/user/updateUserById.do?id=${userInfo.id}"
method="post">
<!-- 正文区域 -->
<section class="content"> <!--产品信息-->
<div class="panel panel-default">
<div class="panel-heading">用户信息</div>
<div class="row data-type">
<div class="col-md-2 title">id</div>
<div class="col-md-4 data">
<input type="text" class="form-control" name="id"
placeholder="id" value="${userInfo.id}" disabled>
</div>
<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>
<!--订单信息/--> <!--工具栏-->
<div class="box-tools text-center">
<button type="submit" class="btn bg-maroon">保存</button>
<button type="button" class="btn bg-default"
onclick="history.back(-1);">返回</button>
</div>
<!--工具栏/--> </section>
<!-- 正文区域 /-->
</form>
都完成了,程序跑起来