JavaWeb——操作数据库之JDBC向MySQL数据库添加数据

JavaWeb——数据库操作

三、通过 JDBC 向 MySQL 数据库添加数据

1、在目标数据库创建目标数据表

  • 可以使用 SQL 语句或 MySQL 数据库可视化工具在目标数据库中添加目标数据表,表结构如下:
    在这里插入图片描述
  • 其中 id 和 bookCount 为无符号,将表命名为 tb_books。

2、创建一个 Bean

  • 创建一个名为 book 的 Bean,用于从网页表单中传输数据,代码如下:
    //IntelliJ IDEA
    //JavaWebProject1
    //Book
    //2019/12/1
    // Author:御承扬
    //E-mail:[email protected]
    
    package com.lyq.bean;
    
    public class Book {
        private int id;     //编号
        private String name;    //图书名称
        private double price;   //价格
        private int bookCount;  //数量
        private String author;  //作者
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public double getPrice() {
            return price;
        }
    
        public void setPrice(double price) {
            this.price = price;
        }
    
        public int getBookCount() {
            return bookCount;
        }
    
        public void setBookCount(int bookCount) {
            this.bookCount = bookCount;
        }
    
        public String getAuthor() {
            return author;
        }
    
        public void setAuthor(String author) {
            this.author = author;
        }
    }
    

3、JSP 页面

  • 首先是一个填写书籍信息的 JSP 页面,代码如下:
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>图书信息登记</title>
        <style type="text/css">
            body{
                background: #d7c7e9;
                align-items: center;
                text-align: center;
            }
        </style>
        <script type="text/javascript">
            function check(form){
                with(form){
                    if(name.value === ""){
                        alert("图书名称不能为空");
                        return false;
                    }
                    if(price.value === ""){
                        alert("价格不能为空");
                        return false;
                    }
                    if(bookCount.value === ""){
                        alert("图书数量不能为空");
                        return false;
                    }
                    if(author.value === ""){
                        alert("作者不能为空");
                        return false;
                    }
                    return true;
                }
            }
        </script>
    </head>
    <body>
    <form action="AddBook.jsp" method="post" onsubmit="return check(this);">
        <table align="center" width="450">
            <tr>
                <td align="center" colspan="2">
                    <h2>添加图书信息</h2>
                    <hr>
                </td>
            </tr>
            <tr>
                <td align="right">图书名称:</td>
                <td>
                    <label>
                        <input type="text" name="name"/>
                    </label>
                </td>
            </tr>
            <tr>
                <td align="right">价格:</td>
                <td>
                    <label>
                        <input type="text" name="price"/>
                    </label>
                </td>
            </tr>
            <tr>
                <td align="right">数量:</td>
                <td>
                    <label>
                        <input type="text" name="bookCount"/>
                    </label>
                </td>
            </tr>
            <tr>
                <td align="right">作者:</td>
                <td>
                    <label>
                        <input type="text" name="author"/>
                    </label>
                </td>
            </tr>
            <tr>
                <td align="center" colspan="2">
                    <input type="submit" value="提交">
                </td>
            </tr>
        </table>
    </form>
    </body>
    </html>
    
  • 再同级目录里新建一个 JSP 页面,用于处理书籍信息向数据库写入的操作,我这里命名为 AddBook.jsp,代码如下:
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ page import="java.sql.Connection" %>
    <%@ page import="java.sql.DriverManager" %>
    <%@ page import="java.sql.SQLException" %>
    <%@ page import="java.sql.PreparedStatement" %>
    <html>
    <head>
        <title>添加结果</title>
        <style type="text/css">
            body{
                background: #d7c7e9;
                align-content: center;
                text-align: center;
            }
        </style>
    </head>
    <body>
    <%request.setCharacterEncoding("UTF-8");%>
    <jsp:useBean id="book" class="com.lyq.bean.Book"></jsp:useBean>
    <jsp:setProperty name="book" property="*"/>
    <%
        Connection conn =null;
        try{
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                out.print("驱动器加载失败");
            }
            String url = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8";
            String username = "root";
            String password = "*********";
            try{
                conn = DriverManager.getConnection(url,username,password);
            }catch (SQLException e){
                out.println(e.getMessage());
                out.println("数据库连接失败");
            }
            if(conn != null){
                String sql = "insert into tb_books(name,price,bookCount,author)values(?,?,?,?)";
                PreparedStatement ps = conn.prepareStatement(sql);
                ps.setString(1,book.getName());
                ps.setDouble(2,book.getPrice());
                ps.setInt(3,book.getBookCount());
                ps.setString(4,book.getAuthor());
                int row = ps.executeUpdate();
                if(row>0){
                    out.println("成功添加了" + row + "条数据!");
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            out.print("图书信息添加失败!");
        }
    %>
    <br>
    <a href="book.jsp">返回</a>
    </body>
    </html>
    

4、使用 JSP 页面

  • 再 JavaWeb 项目的 index.jsp 页面添加对刚刚新建的 JSP 页面的使用,示例如下:
    <input type="button" value="图书信息登记" onclick="window.location.href='JDBCOption/book.jsp'">
    
  • 渲染效果如下:
    在这里插入图片描述
  • 程序无错误成功向数据库写入数据后,提示如下:
    在这里插入图片描述
  • 回到 MySQL 数据库可视化工具,执行查询语句,返回结果如下:
    在这里插入图片描述
  • 至此,成功用 JSP 向数据库写入数据。

上一篇

下一篇

发布了146 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42896653/article/details/103332787