javaweb之JDBC技术基础训练四图书管理系统:修改功能的实现

💡💡💡javaweb之JDBC技术基础训练之管理系统全集🙌🙌🙌👇👇👇

添加链接描述javaweb之JDBC技术基础训练—图书管理系统:数据准备、可能遇到的问题的解决方法🤟
javaweb之JDBC技术基础训练二图书管理系统:从数据库插入数据功能实现🤟
javaweb之JDBC技术基础训练三图书管理系统:查询数据功能实现🤟
javaweb之JDBC技术基础训练四图书管理系统:修改功能的实现🤟
javaweb之JDBC技术基础训练五图书管理系统:删除数据项🤟

修改数据和与添加数据很类似,只不过现在用SQL的“update”语句,在这里以修改图书的数量为例,学会后其他的都是一样的,在修改图书的时候,我们除了要关注主要要修改的那个值,别忘了还要加上图书的id属性,因为修改图书数量的时候需要明确指定图书的id作为修改的条件,否则,就会不小心修改所有的图书信息记录啦

在book_List添加修改按钮

<%@ page import="com.xmonster.bean.Book" %>
<%@ page import="java.util.List" %><%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2021/10/31
  Time: 23:25
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>book_List</title>
</head>
<body>
    <table align="center" width="500" border="1">
        <tr>
            <td align="center" colspan="2">
                <h2>所有图书信息</h2>
            </td>
        </tr>
        <tr align="center">
            <td><b>ID</b></td>
            <td><b>图书名称</b></td>
            <td><b>价格</b></td>
            <td><b>数量</b></td>
            <td><b>作者</b></td>
        </tr>
            <%
                //获取所有图书的信息
                List<Book> list = (List<Book>) request.getAttribute("list");
                //判断集合是否为空、是否有效
                if(list == null || list.size()<1){
                    out.println("抱歉,没有检测到数据!");
                }else{
                    for(Book book:list){
            %>
        <tr align="center">
            <td><%=book.getId()%></td>
            <td><%=book.getName()%></td>
            <td><%=book.getPrice()%></td>
            <td><%=book.getBookCount()%></td>
            <td><%=book.getAuthor()%></td>
            <td align="center">
                <form action="UpdateServlet" method="post" onsubmit="return check(this);">
                    <input type="hidden" name="id" value="<%=book.getId()%>">
                    <input type="text" name="bookCount" size="3">
                    <input type="submit" value="修 改">
                </form>
            </td>

        </tr>
            <%
                   }
                }
            %>

    </table>

</body>
</html>

UpdateServlet

在这里话,不需要Get方法了,由表单提交类型为post,所以在这里我们就直接写doPost方法即可,这里写的比较简单,因为我们只修改一个变量

package com.xmonster.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;

public class UpdateServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        int id = Integer.valueOf(req.getParameter("id"));
        int bookCount = Integer.valueOf(req.getParameter("bookCount"));
//        HttpServletRequest所接受的参数值类型为String类型,而图书id和图书数量都为int类型
//        所以在这里做了转型的操作
        try{
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC";
            String username="root";
            String password="123456";
            Connection connection = DriverManager.getConnection(url, username, password);
            Statement statement = connection.createStatement();
            String sql = "update tb_book set bookCount=? where id=?";
            PreparedStatement ps = connection.prepareStatement(sql);
            ps.setInt(1, bookCount);
            ps.setInt(2, id);
            ps.executeUpdate();
            ps.close();
            connection.close();

        }catch (Exception e){
            e.printStackTrace();
        }

        resp.sendRedirect("FindServlet");
//      将已经修改好的值  重定向到FindServlet

    }

}

index.jsp

这里就写的很简单啦

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>Index</title>
  </head>
  <body>
  <a href="FindServlet">点击修改信息</a>
    </body>
</html>

测试

在这里插入图片描述
假如我想要修改Web的数量为30
在这里插入图片描述
修改后去数据库查看结果:
在这里插入图片描述
可以看到已经成功修改

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是X大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值