📅  最后修改于: 2023-12-03 15:31:31.969000             🧑  作者: Mango
在 Java Web 开发中,Servlet 和 JDBC 是不可或缺的两个技术。在本文中,我们将介绍如何使用 Java Servlet 和 JDBC 在 MySQL 数据库中插入数据。
在开始编写代码之前,我们需要准备一些工作:
我们需要在 MySQL 中创建一个数据库和一张表来存储数据。假设我们将创建一个名为 test
的数据库,并在其中创建一张表 users
,包含 id
、name
和 age
三个字段。
我们可以使用如下 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;
在 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 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 部署到 Tomcat Web 服务器上,供外部访问。在部署时,我们需要将 MySQL JDBC 驱动程序放置到 Tomcat 的 lib 目录下。
至此,我们已完成了 Java Servlet 和 JDBC 在 MySQL 中插入数据的示例。