SpringMvc+Spring+MyBatis+Maven+Ajax+Json注解开发 利用Maven的依赖导入不使用架包模式 (实操十二)
SpringMvc+Spring+MyBatis+Maven+Ajax+Json注解开发 利用Maven的依赖导入不使用架包模式 (实操十一)_星辰镜的博客-CSDN博客
上面的博客是环境配置和Mysql的操作
本文章的目标 完成对数据库中表的一条记录进行修改
MySql的Sql语句:
UPDATE `demossmtest`.`orders`
SET
`name` = '电脑AS',
`foondname` = '华为OS',
`ordertime` = '2022.6.9',
`count` = 3456,
`price` = 3452.09,
`amount` = 1234.09
WHERE
`id` = 6
修改的思想分析总结::
首先用户要将你要修改的是哪条记录的参数发到服务器中
服务器利用SSM三层原理最终将其告诉数据库中
我查到的每一条记录 的存放方式是 Map<String, Object>
返回的类型为 Map<String, Object> 方法名称(转入的参数) Map<String, Object> getInfoById(int id);
将修改的信息经过层层返回最终到控制层
将修改信息如何展示在页面上这里需要你的前端基础 Html css javascript jquery Ajax Json
将浏览器修改后的信息返回到服务器 中到数据库中完成数据的修改
将修改的信息利用Map封装起来 所以 返回的类型为 int方法名称(转入的参数) int updateInfo(Map<String, Object> map);
思考你要修改的是一条记录 而一条记录利用的是 Map<String, Object> 存放 返回一条记录的值为 int 类型
所以接口定义下面方案 int updateInfo(Map<String, Object> map);
修改页面的效果前后展示:
1
2
3
4
5
代码操作一:显示修改信息的数据展示在页面中
1
// 定义方法修改页面 转入参数id
function update(id) {
confirm("开始修改页面信息")
alert("请用户开始操作页面即将跳到修改的数据页面")
location.href = "update1.do?id=" + id;
}
2
<script src="js/jquery-3.2.1.min.js"></script>
<script>
$(function () {
$.ajax({
url: "Update2.do",
type: "GET",
data: "",
//将所有的修改的值展示到表格中
success: function (json) {
$("input[name='name']").val(json.name)
$("input[name='foondname']").val(json.foondname)
$("input[name='price']").val(json.price)
$("input[name='count']").val(json.count)
$("input[name='ordertime']").val(json.ordertime)
$("input[name='amount']").val(json.amount)
},
error: function () {
alert("连接数据库失败")
},
dataType: "json"
})
})
</script>
3
4
5
6
代码操作二修改信息返回到数据库中完成真正的修改
<div align="center">
<h1>淘宝页面修改页面的内容管理</h1>
<form action="update3.do" method="get">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>商品名称:</td>
<td><input type="text" name="foondname"></td>
</tr>
<tr>
<td>商品单价:</td>
<td><input type="text" name="price"></td>
</tr>
<tr>
<td>商品数量:</td>
<td><input type="number" name="count"></td>
</tr>
<tr>
<td>订单更新时间:</td>
<td><input type="text" name="ordertime"></td>
</tr>
<tr>
<td>金额</td>
<td><input type="text" name="amount"></td>
</tr>
<tr>
<th colspan="2"><input type="submit" value="完成修改信息"></th>
</tr>
</table>
</form>
</div>
@RequestMapping("/update3.do")
public String update3(
@RequestParam String name,
@RequestParam String foondname,
@RequestParam String ordertime,
@RequestParam int count,
@RequestParam double price,
@RequestParam double amount,
HttpSession session) {
Map<String, Object> map = new HashMap<>();
int id = (int) session.getAttribute("id");
map.put("id",id);
map.put("name",name);
map.put("foondname",foondname);
map.put("ordertime",ordertime);
map.put("count",count);
map.put("price", price);
map.put("amount",amount);
int i = service.update3(map);
return "Service.html";
}
package Com.Orders.Service;
import java.util.List;
import java.util.Map;
/**
* 业务逻辑层的接口
*/
public interface IOrderService {
List<Map<String, String>> getList();
Map<String, Object> update2(int id);
int update3(Map<String, Object> map);
}
@Override
public int update3(Map<String, Object> map) {
return dao.update3(map);
}
7
@Update("UPDATE `demossmtest`.`orders` SET name = #{name}, foondname = #{foondname}, ordertime = #{ordertime}, count = #{count}, price = #{price}, amount =#{amount} where id = #{id}")
int update3(Map<String, Object> map)
总结核心:两条Sql语句的实现:
@Update("UPDATE `demossmtest`.`orders` SET name = #{name}, foondname = #{foondname}, ordertime = #{ordertime}, count = #{count}, price = #{price}, amount =#{amount} where id = #{id}")
int update3(Map<String, Object> map);
-
首先用户要将你要修改的是哪条记录的参数发到服务器中
-
服务器利用SSM三层原理最终将其告诉数据库中
-
我查到的每一条记录 的存放方式是 Map<String, Object>
-
返回的类型为 Map<String, Object> 方法名称(转入的参数) Map<String, Object> getInfoById(int id);
-
将修改的信息经过层层返回最终到控制层
-
将修改信息如何展示在页面上这里需要你的前端基础 Html css javascript jquery Ajax Json
-
将浏览器修改后的信息返回到服务器 中到数据库中完成数据的修改
-
将修改的信息利用Map封装起来 所以 返回的类型为 int方法名称(转入的参数) int updateInfo(Map<String, Object> map);
-
思考你要修改的是一条记录 而一条记录利用的是 Map<String, Object> 存放 返回一条记录的值为 int 类型
-
所以接口定义下面方案 int updateInfo(Map<String, Object> map)