使用SSM框架实现用户的增删改查(一)

上一次已经详细介绍了如何搭建一个基于SSM框架的项目,这一次我们实现具体的操作。
下图是我这次项目的目录结构:
使用SSM框架实现用户的增删改查(一)_第1张图片
本次我们想实现的是用户信息的更新操作,为了方便测试,我们直接在index.jsp中添加一条语句:

a href="${pageContext.request.contextPath}/user/findAll.do">查询全部
这样在启动项目后将看到“查询全部”的链接
使用SSM框架实现用户的增删改查(一)_第2张图片
点击链接将会调用findAll.do这个地方,它是写在Controller层的一个函数:

@RequestMapping(“findAll.do”)

 public ModelAndView findAll(){
    List userInfoList =  userInfoService.findAll();
    ModelAndView mv = new ModelAndView();
    mv.addObject("userInfoList",userInfoList);
    mv.setViewName("user-list");
    return  mv;
}

由上述代码可以看出,对应findAll.do的界面是user-list.jsp页面。并且传入了userInfoList这个对象
使用SSM框架实现用户的增删改查(一)_第3张图片
在user-list.jsp页面中,有这样一条语句:
a href=" p a g e C o n t e x t . r e q u e s t . c o n t e x t P a t h / u s e r / f i n d U s e r B y I d . d o ? i d = {pageContext.request.contextPath}/user/findUserById.do?id= pageContext.request.contextPath/user/findUserById.do?id={user.id}" class=“btn bg-olive btn-xs”>更新

同理,点击“更新”按钮后会跳转到findUserById.do,代码如下:
@RequestMapping("/findUserById.do")

public ModelAndView findUserById(int id){
    UserInfo userInfo = userInfoService.findUserById(id);
    ModelAndView mv = new ModelAndView();
    mv.addObject("userInfo",userInfo);
    mv.setViewName("user-update");
    return mv;
}

对应的界面是user-update,且传入了userInfo这个对象
使用SSM框架实现用户的增删改查(一)_第4张图片
id值不可修改是因为我们将id域设置为disabled

user-update中的一句话为:
form action=" p a g e C o n t e x t . r e q u e s t . c o n t e x t P a t h / u s e r / u p d U s e r B y I d . d o ? i d = {pageContext.request.contextPath}/user/updUserById.do?id= pageContext.request.contextPath/user/updUserById.do?id={userInfo.id}"
由于“保存”按钮的属性是submit,所以会将当前填入的变量提交到后台中

首先是updUserById这个地方:
@RequestMapping("/updUserById.do")

public String updUserId(UserInfo userInfo){
    userInfoService.updUserById(userInfo);
    return "redirect:findAll.do";
}

这段代码的意思是:执行完updUserById(userInfo)函数后,跳转到findAll.do处,即我们在一开始所说的显示所有用户的页面user-list.jsp。
下面是updUserById(userInfo)函数的代码:

public void updUserById(UserInfo userInfo){
     userDao.updUserById(userInfo);
}

public void updUserById(UserInfo userInfo){
     userDao.updUserById(userInfo);
}

mapper中的sql语句为:
update id=“updUserById” parameterType=“com.zhongruan.bean.UserInfo”>
update tb_user set username=#{username},password=#{password} where id=#{id}
即一条更新数据库的语句。

回到user-list.jsp页面后,由于会调用findAll.do,所以显示的是已经更新过的数据。
使用SSM框架实现用户的增删改查(一)_第5张图片
使用SSM框架实现用户的增删改查(一)_第6张图片
至此用户的更新操作就完成了,类似的可以相继完成增删功能。

你可能感兴趣的:(使用SSM框架实现用户的增删改查(一))