一. 添加数据
添加数据前端传值以form默认的方式进行传递,并不是通过json对象的方式,后端直接用对象进行接受,这里踩了个坑 用RequestBody的方式进行接受,报错了400,RequestBody只适用于json对象方式,前端还要转为json。
mapper.java
/**
* 添加用户信息
* @param user
* @return
*/
Long insertuser(User user);
mapper.xml
添加的时候,id不需要添加,是自增的,所以写为null
<insert id="insertuser" >
insert into t_user
values (null, #{username}, #{password}, #{age}, #{gender}, #{email});
</insert>
controller
最终是重定向到当前页面,不然会停留在inseruser
/**
* 添加用户
* @return
*/
@RequestMapping("insertuser")
public String insertuser(User user){
final Long insertuser = userService.insertuser(user);
log.info("插入的本条数据={}",insertuser);
return "redirect:/dynamic_table";
}
二. 删除
删除按钮是通过超链接的方式实现的,点击删除按钮时,会获取到列表中词条数据的id以及所在的页码(pn)
{id}(id=${user.id}获取数据的id
pn=${pageInfo.pageNum})}获取数据所在的到页码
<td>
<a th:href="@{/update/huixian/{id}(id=${user.id}, pn=${pageInfo.pageNum})}" class="btn btn-danger btn-sm" type="button">更新</a>
</td>
通过后端@RequestMapping("/deluser/{id}") 获取到数据的id
RedirectAttributes ra重定向携带数据
@RequestParam(value = "pn", defaultValue = "1")Integer pn 通过此获取到pn
ra.addAttribute("pn", pn);通过重定向携带数据,会将pn添加到重定向去,以url的方式运行。
然后下面返回的就是重定向的地址。删除后还停留在原先的页面
@RequestMapping("/deluser/{id}")
public String deluser(@PathVariable("id") Integer id,
@RequestParam(value = "pn", defaultValue = "1")Integer pn,
RedirectAttributes ra){//重定向携带参数
final Long deluser = userService.deluser(id);
log.info("删除的本条数据={}",deluser);
ra.addAttribute("pn", pn); //这样从前端获取的页码数 就会添加到重定向中去,以url的方式运行
return "redirect:/dynamic_table"; //这个地方重定向的时候回
}
三. 更新
数据回显和更新数据
更新数据的时候用post
数据回显中的id是更新的条件
<select id="getuserByid" resultType="com.zt.boot.bean.User">
select *
from t_user
where id = #{id}
</select>
<update id="updateuser">
update t_user
set
username = #{username},
password = #{password},
age = #{age},
gender = #{gender},
email = #{email}
where id=#{id}
</update>
controller
/**
* 数据回显
* 更新数据
* @return
*/
@RequestMapping("/update/huixian/{id}")
public String getuserById(@PathVariable("id")Integer id,
Model model){
final User user = userService.getuserByid(id);
model.addAttribute("user", user);
return "update/updateuser";
}
@RequestMapping("upduser")
public String updateuser(User user,
@RequestParam(value = "pn", defaultValue = "1")Integer pn
){
userService.updateuser(user);
return "redirect:/dynamic_table";
}