0
点赞
收藏
分享

微信扫一扫

解决JavaWeb增删改查的具体操作步骤

自由的美人鱼 2023-07-13 阅读 59

JavaWeb增删改查

介绍

在Java Web开发中,增删改查(CRUD)是最基本的操作之一。它是指在数据库中进行数据的增加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作。这些操作在开发中非常常见,因此掌握它们是非常重要的。

本文将介绍JavaWeb中的增删改查操作,并提供相应的代码示例。

环境准备

在开始之前,需要准备以下环境:

  1. JDK 8+:Java开发环境
  2. Eclipse或者IntelliJ IDEA:Java开发IDE
  3. Apache Tomcat:JavaWeb服务器
  4. 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页面,用于显示增加

举报

相关推荐

0 条评论