本文章的目标 完成对数据库中表的一条记录进行修改
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)