首先,大家需要在JSP页面中连接到MySQL数据库。这可以使用以下代码来实现:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <% Connection conn = null; Statement stmt = null; Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "root"; String password = "root"; conn = DriverManager.getConnection(url, user, password); stmt = conn.createStatement(); %>
这段代码中,大家首先声明了两个变量conn和stmt,它们将用于连接和操作MySQL数据库。然后,大家使用Class.forName()方法加载MySQL的JDBC驱动程序。接着,大家定义了MySQL数据库的URL、用户名和密码,并使用DriverManager.getConnection()方法连接到MySQL。最后,大家使用Statement对象创建了一个stmt变量。
接下来,大家可以使用stmt.executeUpdate()方法向MySQL数据库添加数据了。以下是一个例子:
<% String name = request.getParameter("name"); String age = request.getParameter("age"); String sql = "INSERT INTO students (name, age) VALUES ('"+name+"', "+age+")"; stmt.executeUpdate(sql); %>
在这个例子中,大家使用了request.getParameter()方法从HTML表单中获取输入的数据。然后,大家将这些数据插入到MySQL数据库的“students”表中,使用INSERT语句。最后,大家使用stmt.executeUpdate()方法执行这个SQL语句,将数据插入到MySQL数据库中。
在实际开发中,大家应该注意防止SQL注入攻击。这可以使用预处理语句来实现。以下是一个例子:
<% PreparedStatement ps = null; String name = request.getParameter("name"); String age = request.getParameter("age"); String sql = "INSERT INTO students (name, age) VALUES (?, ?)"; ps = conn.prepareStatement(sql); ps.setString(1, name); ps.setInt(2, Integer.parseInt(age)); ps.executeUpdate(); %>
在这个例子中,大家使用PreparedStatement对象代替Statement对象,这样可以避免SQL注入攻击。大家首先定义了一个PreparedStatement对象ps,然后使用prepareStatement()方法创建它。接着,大家使用setString()和setInt()方法设置预处理语句中的参数。最后,大家使用ps.executeUpdate()方法将数据插入到MySQL数据库中。
总之,通过JSP向MySQL中添加数据非常方便。大家只需要连接到MySQL数据库,然后使用Statement或PreparedStatement对象执行SQL语句即可。