持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情
前言
昨天,我们实现了updateUser()
接口来更新用户,今天,我们就来实现了一下删除用户的接口,这样我们就完成了查询用户,增加用户,更新用户以及删除用户这一套接口,实现了对数据库的增删改查操作。
实践
接着就来实践一下吧。
更新指定用户用户名
在实现删除接口前,我们再来巩固一下更新操作。
昨天我们是更新了一整个用户信息,包括名字啊年龄啊性别啊,那我能不能实现一个接口就只更新用户的名字呢?
行动起来吧,定义好接口方法**void** updateUserNameById(**int** id, String name)
,接着实现具体的SQL方法。
<mapper namespace="com.li.test.mapper.UserMapper">
<update id="updateUserNameById">
update user set name=#{name} where id=#{id}
</update>
</mapper>
根据ID找到对应的用户,然后利用新用户名来更新久的用户名。
接着我们在UserController
中实现对外的接口。
/**
* 修改指定用户的用户名
* @param id 根据id来对应到指定的用户
* @param name
*/
@PostMapping("/users/update_name")
public void updateUserNameById(@RequestParam("id") int id, @RequestParam("name") String name) {
System.out.println("id = " + id + " name = " + name);
userService.updateUserNameById(id, name);
}
接着我们编写测试用例来测试一下我们的代码是否编写正确。
@Test
void contextLoads() {
System.out.println("************* test UserController.updateUserNameById() ***************");
userService.updateUserNameById(8, "liTest");
}
测试通过后,我们运行项目,然后通过postman来调试接口http://127.0.0.1:8080/users/update_name
,如下所示:
执行完毕,查看数据库来检查一下是否更新成功。
最终,id为7的用户名变成了呼哈哈
,id为8的用户名变成了liTest
。
删除指定用户
接着,我们进入今天的主题,添加删除用户接口,根据指定ID来删除用户。
首先,在Service中声明用户接口。
void deleteUserById(int id)
然后在mapper.xml中实现具体SQL方法。
<mapper namespace="com.li.test.mapper.UserMapper">
<delete id="deleteUserById">
delete from user where id=#{id}
</delete>
</mapper>
接着我们在UserController
中实现对外的接口deleteUserById()
方法。
/**
* 删除指定用户
* @param id
*/
@PostMapping("/users/delete")
public void deleteUserById(@RequestParam("id") int id) {
System.out.println("deleteUserById id = " + id);
userService.deleteUserById(id);
}
接着编写测试用例来验证一下代码是否编写正确。
@Test
void contextLoads() {
System.out.println("************* test UserController.deleteUserById() ***************");
userService.deleteUserById(8);
}
测试通过,最终运行程序,通过postman工具来调试一下接口。
最后,查看一下数据库,检查一下是否删除完毕。
ID为1与ID为8的用户都被删除了,说明我们接口实现无误。
总结
通过这几天的学习,我们添加了查询用户,增加用户,更新用户以及删除用户这一套接口,实现了对数据库的增删改查操作,实现了基础功能后,接下来就让我们来对整体项目进行改进一下吧。