项目如何搭建;查询和插入demo可以看以下链接:
查询:https://blog.youkuaiyun.com/weixin_43957143/article/details/97447014
插入:https://blog.youkuaiyun.com/weixin_43957143/article/details/97020939
1.数据库中原有数据:
我们今天对id为100001的数据进行删除和修改。
2.UserMapper接口:
有人会直接给id作为参数直接传入,但是SpringBoot+Mybatis集成自动寻找用户实体类对应字段,可以直接将实体类作为参数。
3.User实体类:
4.UserMapper.xml动态Sql语句:
修改:
<update id="updateUser" parameterType="com.example.demo.registry.entity.User">
update user
<trim prefix="set" suffixOverrides=",">
<if test="username!=null">USERNAME=#{username},</if>
<if test="password!=null">PASSWORD=#{password},</if>
<if test="sex!=null">SEX=#{sex},</if>
<if test="idcard!=null">IDCARD=#{idcard},</if>
<if test="mobile!=null">MOBILE=#{mobile},</if>
<if test="realname!=null">REALNAME=#{realname},</if>
</trim>
WHERE id=#{id}
</update>
删除:
<delete id="deleteUser" parameterType="com.example.demo.registry.entity.User">
delete from user where id=#{id}
</delete>
5.UserService和UserServiceImp代码逻辑:
UserService:
UserServiceImp:
6.Controller:
上面方法为了返回到对应页面:
@RequestMapping("/updateUser")
@ResponseBody
public String updateUser(User user){
try{
userService.updateUser(user);
return "修改成功";
}catch(Exception e){
e.getStackTrace();
}
return "修改失败";
}
@RequestMapping("/deleteUser")
@ResponseBody
public String deleteUser(User user){
try{
userService.deleteUser(user);
return "删除成功";
}catch(Exception e){
e.getStackTrace();
}
return "删除失败";
}
以上是执行的修改和删除的方法
7.index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<span>欢迎来到demo</span>
<a href="/login">登录</a>
<a href="/update">修改</a>
<a href="/delete">删除</a>
</body>
</html>
8.修改页面:
动态SQL的原因,所以你可以把不想修改的不填就可以
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>修改用户</title>
</head>
<body>
<div id="app">
<form action="/updateUser" method="post" id="user">
<table>
<tr>
<td class="text_right">ID:</td>
<td class="text_left"><input placeholder="输入ID" name="id"
autocomplete="off"/></td>
</tr>
<tr>
<td class="text_right">用户名:</td>
<td class="text_left"><input placeholder="输入用户名" name="username"
autocomplete="off"/></td>
</tr>
<tr>
<td class="text_right">密码:</td>
<td class="text_left"><input placeholder="请输入密码密码" type="password"
name="password" autocomplete="off" maxlength="10"/></td>
</tr>
<tr>
<td class="text_right"> 身份证:</td>
<td class="text_left"><input maxlength="18" placeholder="请输入身份证号码" type="text"
name="idcard" autocomplete="off"/></td>
</tr>
<tr>
<td class="text_right">真实姓名:</td>
<td class="text_left"><input placeholder="请输入真实姓名" type="text"
autocomplete="off" name="realname"/></td>
</tr>
<tr>
<td class="text_right">手机号码:</td>
<td class="text_left"><input maxlength="11" placeholder="请输入手机号码" type="number"
autocomplete="off" name="mobile"/></td>
</tr>
<tr>
<td class="text_right"><input type="submit" value="修改"/></td>
<td class="text_left"><input type="reset" value="重置"/></td>
</tr>
</table>
</form>
</div>
</body>
<script>
</script>
<style>
#app {
text-align: center;
margin: 100px 500px;
}
.text_right {
text-align: right;
}
.text_left {
text-align: left;
}
</style>
</html>
9.删除页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>修改用户</title>
</head>
<body>
<div id="app">
<form action="/deleteUser">
<input type="text" name="id" />
<input type="submit" value="修改">
</form>
</div>
</body>
<style>
#app {
text-align: center;
margin: 100px 500px;
}
</style>
</html>
10.启动项目:
先点击修改:输入想要修改的内容,原本id=100001的数据username是测试第一个,我们把它修改成没有眉毛的阿斗
提示修改成功。
看一下数据数据:
也已经修改成功了。
测试删除:我们把100001的删除:
点击删除:
提示成功:
我们看一下数据库数据:
100001的数据也不存在了。