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

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

a href="${pageContext.request.contextPath}/user/findAll.do">查询全部
这样在启动项目后将看到“查询全部”的链接
在这里插入图片描述
点击链接将会调用findAll.do这个地方,它是写在Controller层的一个函数:

@RequestMapping(“findAll.do”)

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

由上述代码可以看出,对应findAll.do的界面是user-list.jsp页面。并且传入了userInfoList这个对象
在这里插入图片描述
在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这个对象
在这里插入图片描述
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,所以显示的是已经更新过的数据。
在这里插入图片描述
在这里插入图片描述
至此用户的更新操作就完成了,类似的可以相继完成增删功能。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SSM(Spring、Spring MVC、MyBatis)是一个基于Spring、Spring MVC和MyBatis的轻量级Java Web开发框架组合。它简化了Java Web开发中的常用功能,如数据持久化和业务逻辑处理。在SSM中,"CRUD"操作(增删改查)的实现主要包括以下几个步骤: 1. **Model(模型)**:定义数据实体类,通常映射数据库表中的表结构,使用JPA或MyBatis的映射文件(如XML或注解)进行数据库操作的配置。 2. **DAO(Data Access Object,数据访问对象)**:这是一个接口,包含对数据库操作的方法,比如`insert()`, `update()`, `delete()`, 和 `select*()`. MyBatis的Mapper接口和XML映射文件会将这些方法与具体的SQL语句关联起来。 3. **Service(服务)**:业务层组件,负责调用DAO进行数据操作,并封装复杂的业务逻辑。Spring可以使用依赖注入自动管理这些Service实例。 4. **Controller(控制器)**:在Spring MVC中,Controller接收前端请求,解析请求参数,然后调用Service处理业务逻辑,最后返回响应结果给前端。 具体步骤: - **创建或更新**:Service根据用户请求创建一个对象,调用对应Mapper的`insert()`或`update()`方法执行SQL插入或更新操作。 - **查询**:Service根据查询条件,调用Mapper的`select*()`方法获取数据库数据,转换为实体对象返回。 - **删除**:同理,Service调用`delete()`方法并传入标识对象的ID,执行删除操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值