<a href="/user/insertUser?id=${pageInfo.totalCount}"class="btn btn-default" title="新建"><i class="fa fa-file-o"></i> 新建</a>
发起一个请求,以当前总计的数据量作为传参
@RequestMapping("/insertUser")
public ModelAndView insertUser(int id){
User user = new User(id+1);
ModelAndView mv = new ModelAndView();
mv.addObject("user",user);
mv.setViewName("pages/user-update");
return mv;
}
控制器中以获得的id+1创建一个user对象,并指定视图与数据
<form action="${pageContext.request.contextPath}/user/update"
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="${user.id}">
</div>
<div class="col-md-2 title">用户名称</div>
<div class="col-md-4 data">
<input type="text" class="form-control" name="username"
placeholder="用户名称" value="${user.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="${user.password}">
</div>
<div class="col-md-2 title">年龄</div>
<div class="col-md-4 data">
<input type="text" class="form-control" name="age"
placeholder="年龄" value="${user.age}">
</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>
对应的jsp文件中,以收到的user对象的id作为作为占位符,其他自行添加,发出update请求。
@Override
public int update(User user) {
if (user.getId() > userDao.getTotal()){
return userDao.insertUser(user);
};
return userDao.update(user);
}
在服务实现层中做出判断,因为更新与插入用户都做出了该请求,如果user.id比当前数据总量大,则进行插入操作,否则应为更新操作。
<insert id="insertUser" parameterType="User">
insert into t_user(username,password,age) values(#{username},#{password},#{age});
</insert>
相应插入的sql语句如上