Java Servlet 和 JDBC 示例 |在 MySQL 中插入数据
先决条件: Servlet、JDBC 连接
从Java Servlet 程序与 JDBC 连接的接口开始:
- 适当的 JDBC 环境应与数据库创建一起设置。
- 为此,请从 Internet 下载 mysql-connector.jar 文件,
- 下载后,将 jar 文件移动到 apache-tomcat 服务器文件夹,
- 将文件放在 apache-tomcat 目录中的lib文件夹中。
- 从接口的基本概念开始:
- 第 1 步:在 MySQL 中创建数据库和表
将jar文件放入文件夹后,在MySQL中创建数据库和表,
mysql> create database demoprj; Query OK, 1 row affected (4.10 sec) mysql> use demoprj Database changed mysql> create table demo(id int(10), string varchar(20)); Query OK, 0 rows affected (1.93 sec) mysql> desc demo; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(10) | YES | | NULL | | | string | varchar(20) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 2 rows in set (0.40 sec)
- 第 2 步:实现所需的网页
在 HTML 文件中创建一个表单,在其中获取将数据插入数据库所需的所有输入。在其中指定 servlet 名称,使用 POST 方法作为安全性是数据库连接的重要方面。Insert Data 输出:
在插入所有必需的数据时提交数据(带验证)。
- 第 3 步:使用 JDBC 连接创建Java Servlet 程序
创建 JDBC 连接的步骤是
- 导入所有包
- 注册 JDBC 驱动程序
- 打开连接
- 执行查询,并检索结果
- 清理 JDBC 环境
创建一个单独的类来创建数据库连接,因为在所有程序中编写相同的代码片段是一个蹩脚的过程。创建一个 。 Java文件,它返回一个 Connection 对象。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; // This class can be used to initialize the database connection public class DatabaseConnection { protected static Connection initializeDatabase() throws SQLException, ClassNotFoundException { // Initialize all the information regarding // Database Connection String dbDriver = "com.mysql.jdbc.Driver"; String dbURL = "jdbc:mysql:// localhost:3306/"; // Database name to access String dbName = "demoprj"; String dbUsername = "root"; String dbPassword = "root"; Class.forName(dbDriver); Connection con = DriverManager.getConnection(dbURL + dbName, dbUsername, dbPassword); return con; } }
- 第 4 步:要使用这个类方法,在Java Servlet 程序中创建一个对象
下面的程序显示了创建连接并将数据插入
demo
表中的 Servlet 类,import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.PreparedStatement; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // Import Database Connection Class file import code.DatabaseConnection; // Servlet Name @WebServlet("/InsertData") public class InsertData extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { // Initialize the database Connection con = DatabaseConnection.initializeDatabase(); // Create a SQL query to insert data into demo table // demo table consists of two columns, so two '?' is used PreparedStatement st = con .prepareStatement("insert into demo values(?, ?)"); // For the first parameter, // get the data using request object // sets the data to st pointer st.setInt(1, Integer.valueOf(request.getParameter("id"))); // Same for second parameter st.setString(2, request.getParameter("string")); // Execute the insert command using executeUpdate() // to make changes in database st.executeUpdate(); // Close all the connections st.close(); con.close(); // Get a writer pointer // to display the successful result PrintWriter out = response.getWriter(); out.println("Successfully Inserted" + ""); } catch (Exception e) { e.printStackTrace(); } } }
- 第 5 步:从 HTML 文件中获取数据
要从 HTML 文件中获取数据,请使用 request 对象,该对象调用 getParameter() 方法从通道中获取数据。成功插入后,将创建 writer 对象以显示成功消息。
从 Servlet 进行插入操作后,数据将反映在 MySQL 数据库中
输出:
MySQL 接口中的结果
mysql> select * from demo; +------+---------------+ | id | string | +------+---------------+ | 1 | GeeksForGeeks | +------+---------------+ 1 row in set (0.06 sec)
- 第 1 步:在 MySQL 中创建数据库和表
本文展示了JDBC与Java Servlet程序的基本连接,要插入大量数据,则应进行适当的验证,就好像任何格式不正确的数据都会遇到错误一样。所有插入数据库的数据都应该加密。