📜  Java Servlet 和 JDBC 示例 |在 MySQL 中插入数据(1)

📅  最后修改于: 2023-12-03 15:31:31.969000             🧑  作者: Mango

Java Servlet 和 JDBC 示例 | 在 MySQL 中插入数据

在 Java Web 开发中,Servlet 和 JDBC 是不可或缺的两个技术。在本文中,我们将介绍如何使用 Java Servlet 和 JDBC 在 MySQL 数据库中插入数据。

准备工作

在开始编写代码之前,我们需要准备一些工作:

  1. 安装 MySQL 数据库。
  2. 安装 Tomcat Web 服务器。
  3. 下载 MySQL JDBC 驱动程序。
创建数据库和表

我们需要在 MySQL 中创建一个数据库和一张表来存储数据。假设我们将创建一个名为 test 的数据库,并在其中创建一张表 users,包含 idnameage 三个字段。

我们可以使用如下 SQL 语句创建数据库和表:

CREATE DATABASE IF NOT EXISTS test;

USE test;

CREATE TABLE IF NOT EXISTS users (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  age INT(11) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
配置 JDBC 连接

在 Java 程序中使用 JDBC 连接 MySQL 数据库需要进行一些配置。我们需要在程序中指定数据库的连接信息,包括数据库的 URL、用户名、密码等。同时,我们还需要在程序中加载 MySQL JDBC 驱动程序。

// 数据库连接信息
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "root";

// 加载 MySQL JDBC 驱动程序
Class.forName(driver);
编写 Java Servlet 代码

在 Java Web 应用中,Java Servlet 负责接收客户端请求并返回响应结果,我们需要编写一个 Java Servlet 来处理插入数据的请求。

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

public class InsertServlet extends HttpServlet {

  // 数据库连接信息
  String driver = "com.mysql.jdbc.Driver";
  String url = "jdbc:mysql://localhost:3306/test";
  String username = "root";
  String password = "root";

  // 插入数据的 SQL 语句
  String insertSQL = "INSERT INTO users(name, age) VALUES (?, ?)";

  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    // 获取请求参数
    String name = request.getParameter("name");
    int age = Integer.parseInt(request.getParameter("age"));

    // 插入数据
    try {
      // 连接数据库
      Class.forName(driver);
      Connection conn = DriverManager.getConnection(url, username, password);

      // 预编译 SQL 语句,避免 SQL 注入攻击
      PreparedStatement ps = conn.prepareStatement(insertSQL);
      ps.setString(1, name);
      ps.setInt(2, age);

      // 执行 SQL 语句
      int result = ps.executeUpdate();
      if (result == 1) {
        response.getWriter().println("Insert success!");
      } else {
        response.getWriter().println("Insert failed!");
      }

      // 关闭数据库连接
      ps.close();
      conn.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
部署 Java Servlet

最后,我们需要将编写好的 Java Servlet 部署到 Tomcat Web 服务器上,供外部访问。在部署时,我们需要将 MySQL JDBC 驱动程序放置到 Tomcat 的 lib 目录下。

至此,我们已完成了 Java Servlet 和 JDBC 在 MySQL 中插入数据的示例。

参考文献
  1. Java Web 技术教程
  2. MySQL JDBC 驱动程序下载