JavaWeb增删改查
介绍
在Java Web开发中,增删改查(CRUD)是最基本的操作之一。它是指在数据库中进行数据的增加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作。这些操作在开发中非常常见,因此掌握它们是非常重要的。
本文将介绍JavaWeb中的增删改查操作,并提供相应的代码示例。
环境准备
在开始之前,需要准备以下环境:
- JDK 8+:Java开发环境
- Eclipse或者IntelliJ IDEA:Java开发IDE
- Apache Tomcat:JavaWeb服务器
- MySQL:关系型数据库
数据库准备
首先,我们需要创建一个数据库和一张表来存储数据。假设我们要管理用户信息,创建一个名为users
的表,包含以下字段:
id
:用户ID,主键,自增name
:用户名,字符串类型age
:年龄,整数类型email
:邮箱,字符串类型
CREATE DATABASE javaweb_crud;
USE javaweb_crud;
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT,
email VARCHAR(50)
);
创建JavaWeb项目
在Eclipse或者IntelliJ IDEA中创建一个新的JavaWeb项目,并添加相关的依赖。
增加数据
首先,我们来实现数据的增加功能。
在src
目录下创建一个User.java
类,表示用户对象。
public class User {
private int id;
private String name;
private int age;
private String email;
// 省略构造函数和getter/setter方法
}
在src
目录下创建一个UserDao.java
类,用于操作数据库。
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UserDao {
public void addUser(User user) {
Connection connection = null;
PreparedStatement statement = null;
try {
// 获取数据库连接
connection = DBUtil.getConnection();
// 创建预编译语句对象
String sql = "INSERT INTO users (name, age, email) VALUES (?, ?, ?)";
statement = connection.prepareStatement(sql);
// 设置参数
statement.setString(1, user.getName());
statement.setInt(2, user.getAge());
statement.setString(3, user.getEmail());
// 执行SQL语句
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源
DBUtil.close(connection, statement);
}
}
}
在src
目录下创建一个DBUtil.java
类,用于创建数据库连接和关闭资源。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil {
private static final String URL = "jdbc:mysql://localhost:3306/javaweb_crud";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USERNAME, PASSWORD);
}
public static void close(Connection connection, PreparedStatement statement) {
close(connection, statement, null);
}
public static void close(Connection connection, PreparedStatement statement, ResultSet resultSet) {
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
创建一个AddUserServlet.java
类,处理用户的增加请求。
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AddUserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 从请求参数中获取用户信息
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
String email = request.getParameter("email");
// 创建用户对象
User user = new User();
user.setName(name);
user.setAge(age);
user.setEmail(email);
// 创建数据库操作对象
UserDao userDao = new UserDao();
userDao.addUser(user);
// 跳转到用户列表页面
response.sendRedirect("userList.jsp");
}
}
在WebContent
目录下创建一个addUser.jsp
页面,用于显示增加