设计一套企业用户管理系统。1、考核要求:(1)设计数据库和表(2)设计用户查询列表页面(3)设计用户增加数据页面(4)对用户数据进行增加、查询、修改(5)增加、查询、两个模块在一个页面实现(6)用户信息包括:ID,用户名,密码,电话,地址,邮箱(7)使用JDBC数据库连接的方法 只有两个工具(IDEA与navicate)。
3条回答 默认 最新
檀越@新空间 2026-04-07 23:46关注晚上好🌙🌙🌙
本答案参考通义千问要两天内完成一套用户管理系统,需要高效地规划开发流程、合理分配时间,并且充分利用IDEA和Navicat这两个工具。以下是详细的步骤和解决方案,包括数据库设计、页面设计、功能实现等。
一、项目目标
- 设计一个企业用户管理系统
- 实现增删改查功能
- 使用 JDBC 连接数据库
- 使用 IDEA 和 Navicat 工具
- 用户信息字段:ID、用户名、密码、电话、地址、邮箱
- 增加与查询功能在同一个页面实现
二、项目结构规划(2天)
第一天:数据库设计 + 基础环境搭建
| 时间 | 任务 | |------|------| | 09:00 - 10:30 | 使用 Navicat 设计数据库和表结构 | | 10:30 - 11:30 | 在 IDEA 中创建 Maven 项目,配置 JDBC 环境 | | 11:30 - 12:00 | 创建 User 类和数据库连接类 | | 13:00 - 14:30 | 编写增删改查的基础 DAO 层 | | 14:30 - 16:00 | 开发用户查询列表页面(HTML + JSP) |
第二天:功能完善 + 页面整合
| 时间 | 任务 | |------|------| | 09:00 - 10:30 | 开发用户增加数据页面(HTML + JSP) | | 10:30 - 11:30 | 将增加与查询功能整合到一个页面(JSP + Servlet) | | 11:30 - 12:00 | 测试并调试功能 | | 13:00 - 15:00 | 添加修改功能(Servlet + JSP) | | 15:00 - 16:00 | 整理代码,提交项目 |
三、数据库设计(使用 Navicat)
表名:
users| 字段名 | 类型 | 是否主键 | 是否允许空值 | 说明 | |------------|--------------|----------|--------------|----------| | id | INT | 是 | 否 | 主键 | | username | VARCHAR(50) | 否 | 否 | 用户名 | | password | VARCHAR(50) | 否 | 否 | 密码 | | phone | VARCHAR(20) | 否 | 是 | 电话 | | address | VARCHAR(100) | 否 | 是 | 地址 | | email | VARCHAR(100) | 否 | 是 | 邮箱 |
SQL 创建语句:
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, phone VARCHAR(20), address VARCHAR(100), email VARCHAR(100) );
四、Java 类设计(IDEA)
1.
User.java(实体类)public class User { private int id; private String username; private String password; private String phone; private String address; private String email; // 构造函数、getter/setter }2.
DBUtil.java(数据库连接工具类)import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBUtil { private static final String URL = "jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC"; private static final String USER = "root"; private static final String PASSWORD = "your_password"; public static Connection getConnection() throws SQLException { return DriverManager.getConnection(URL, USER, PASSWORD); } }
五、DAO 层(数据访问层)
1.
UserDAO.javaimport java.sql.*; import java.util.ArrayList; import java.util.List; public class UserDAO { public List<User> getAllUsers() { List<User> userList = new ArrayList<>(); String sql = "SELECT * FROM users"; try (Connection conn = DBUtil.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql)) { while (rs.next()) { User user = new User(); user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); user.setPhone(rs.getString("phone")); user.setAddress(rs.getString("address")); user.setEmail(rs.getString("email")); userList.add(user); } } catch (SQLException e) { e.printStackTrace(); } return userList; } public void addUser(User user) { String sql = "INSERT INTO users (username, password, phone, address, email) VALUES (?, ?, ?, ?, ?)"; try (Connection conn = DBUtil.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setString(1, user.getUsername()); pstmt.setString(2, user.getPassword()); pstmt.setString(3, user.getPhone()); pstmt.setString(4, user.getAddress()); pstmt.setString(5, user.getEmail()); pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } public void updateUser(User user) { String sql = "UPDATE users SET username=?, password=?, phone=?, address=?, email=? WHERE id=?"; try (Connection conn = DBUtil.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setString(1, user.getUsername()); pstmt.setString(2, user.getPassword()); pstmt.setString(3, user.getPhone()); pstmt.setString(4, user.getAddress()); pstmt.setString(5, user.getEmail()); pstmt.setInt(6, user.getId()); pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } public void deleteUser(int id) { String sql = "DELETE FROM users WHERE id=?"; try (Connection conn = DBUtil.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setInt(1, id); pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } }
六、页面设计(JSP + HTML)
1.
index.jsp(用户管理主页,包含查询和添加功能)<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="com.example.dao.UserDAO" %> <%@ page import="com.example.model.User" %> <%@ page import="java.util.List" %> <html> <head> <title>用户管理系统</title> </head> <body> <h1>用户管理</h1> <!-- 查询表单 --> <form action="search" method="post"> <input type="text" name="keyword" placeholder="输入用户名或邮箱搜索"> <input type="submit" value="搜索"> </form> <!-- 新增用户表单 --> <h2>新增用户</h2> <form action="add" method="post"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> 电话:<input type="text" name="phone"><br> 地址:<input type="text" name="address"><br> 邮箱:<input type="text" name="email"><br> <input type="submit" value="提交"> </form> <!-- 显示查询结果 --> <% List<User> users = (List<User>) request.getAttribute("users"); if (users != null && !users.isEmpty()) { for (User user : users) { %> <p>ID: <%= user.getId() %> | 用户名: <%= user.getUsername() %> | 邮箱: <%= user.getEmail() %></p> <% } } %> </body> </html>
七、Servlet 处理逻辑(Servlet + JSP)
1.
SearchServlet.javaimport com.example.dao.UserDAO; import com.example.model.User; 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 java.io.IOException; import java.util.List; @WebServlet("/search") public class SearchServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String keyword = request.getParameter("keyword"); UserDAO dao = new UserDAO(); List<User> users = dao.searchUsers(keyword); request.setAttribute("users", users); request.getRequestDispatcher("index.jsp").forward(request, response); } }2.
AddServlet.javaimport com.example.dao.UserDAO; import com.example.model.User; 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 java.io.IOException; @WebServlet("/add") public class AddServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { User user = new User(); user.setUsername(request.getParameter("username")); user.setPassword(request.getParameter("password")); user.setPhone(request.getParameter("phone")); user.setAddress(request.getParameter("address")); user.setEmail(request.getParameter("email")); UserDAO dao = new UserDAO(); dao.addUser(user); response.sendRedirect("index.jsp"); } }
八、扩展功能(可选)
- 分页功能:在查询时支持分页显示
- 验证功能:前端和后端同时校验输入
- 登录权限控制:添加管理员登录模块
九、总结
✅ 两天内完成一套用户管理系统的关键点:
- 数据库设计清晰,使用 Navicat 快速建表
- 代码结构规范,采用 MVC 模式(Servlet + JSP + DAO)
- 功能模块分离,保证代码可维护性
- 页面统一设计,将“增加”和“查询”功能整合到一个页面中
十、完整代码结构示例(目录结构)
src/ ├── com.example.dao/ │ ├── UserDAO.java │ └── DBUtil.java ├── com.example.model/ │ └── User.java └── com.example.servlet/ ├── SearchServlet.java └── AddServlet.java WebContent/ ├── index.jsp └── web.xml
如需我提供完整的项目 ZIP 包或更详细的代码讲解,请告诉我!
解决 无用评论 打赏 举报