实习DAY4

本文介绍了一个基于SSM框架的用户管理系统中查询和更新功能的实现过程。主要内容包括控制器、服务层和服务实现层的具体代码示例,以及前端页面如何与后台交互来完成用户信息的查询和更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2019年7月15日

用户管理系统模板搭建SSM

搭建过程和实习DAY3大同小异,这里不再赘述。

完成查询和更新

今天用的jsp主要有以下两个,而且webapp下的文件也与之前有所不同。user-list是用于查全部用户
另外的是用来更新用户信息。
在这里插入图片描述
这次的项目把实体类中的原User改为UserInfo
还是在user-list中把查询结果显示出来,还是用html中的c标签。
在这里插入图片描述
上面还涉及到index.jsp首页中点击”查询用户“后向controller层的UserController发出请求,等待响应等一系列过程,因为在DAY3有提到,所以在此不再絮叨。

findUserById

考虑到更新用户功能没有返回值(不设置是否成功判断值),有传值,而且首先从页面中点击某一个用户的“更新”按钮时,要把对应的UserInfo的对象的id传递给controller层,再通过框架响应返回一个UserInfo的对象给页面。
看154行中的href
controller层

    @RequestMapping("/findUserById.do")
    public ModelAndView findUserById(int id){			//页面传入的id参数在这里同名即可
        UserInfo userInfo = userService.findUserById(id);
        ModelAndView mv = new ModelAndView();
        mv.addObject("userInfo",userInfo);
        mv.setViewName("user-update");
        return mv;
    }

之后需要完善service层中的接口和实现的findUserById方法,dao层中的findUserById的方法。

//UserServiceImpl
    @Override
    public UserInfo findUserById(int id){
        return userDao.findUserById(id);
    }

Mapper中的sql语句配置:(parameterType:传入参数类型;resultType:返回(传回)参数类型)

    <!--更新前的查询-->
    <select id="findUserById" parameterType="java.lang.Integer" resultType="com.zhongruan.bean.UserInfo">
        select * from tb_user where id=#{id}
    </select>

updUserById

因为在controller层中ModelAndView对象是打开user-update.jsp页面的,所以在该页面的表单提交中设置向控制层的请求。
form的action属性中要注意需要传出userInfo对象的id,我理解的这样框架才能把页面表单中的数据(username,password)写入userInfo对象中并传到controller层中的接受请求的方法中。

		<form action="${pageContext.request.contextPath}/user/updUserById.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="password" 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>

controller层中处理页面请求:

    @RequestMapping("/updUserById.do")
    public String updUserById(UserInfo userInfo){
        userService.updUserById(userInfo);
        return "redirect:findAll.do";
    }

之后需要完善service层中的接口和实现的updUserById方法,dao层中的updUserById的方法。这里的方法是没有返回值,有传值userInfo。
Mapper文件sql语句配置:

    <update id="updUserById" parameterType="com.zhongruan.bean.UserInfo">
        update tb_user set username=#{username},password=#{password} where id=#{id}
    </update>

之后就可以跑一下看看了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值