一个面向教学场景的桌面端学生管理系统,基于 Java Swing + JDBC 实现。
项目聚焦于实训常见能力:注册/登录、数据校验、密码加密、学生信息增删改查、分页查询与基础工程结构实践。
- 用户注册与登录(含验证码)
- 用户基础信息校验(用户名、手机号、身份证号)
- 密码安全存储(BCrypt 哈希)
- 学生信息增删改查
- 学号精确查询、姓名模糊查询
- 分页展示与翻页
- 学生数据导出 CSV
- 基于 MVC 思路组织的分层代码结构
- Java 21
- Maven
- Swing + FlatLaf
- JDBC
- EasySQL + beeCP
- H2(本地测试)
- MariaDB(可选)
- JUnit 4
主要依赖可在 pom.xml 查看。
src/main/java/cc/carm/study/practicum/student/
|- Main.java 程序入口
|- controller/ 控制器层
| |- UserController.java
| |- StudentController.java
|- data/ 数据模型
| |- User.java
| |- Student.java
|- database/ 数据库初始化与表结构定义
| |- Database.java
| |- DataTables.java
|- utils/ 工具类(校验、加密)
| |- Validators.java
| |- BCrypt.java
|- view/ Swing 视图层
|- LoginView.java
|- MainView.java
|- RegisterDialog.java
|- AddStudentDialog.java
|- EditStudentDialog.java
|- SearchResultDialog.java
- JDK 21+
- Maven 3.9+
mvn clean test在 IntelliJ IDEA 中直接运行 src/main/java/cc/carm/study/practicum/student/Main.java。
说明:项目内已包含 H2 相关依赖,默认可用于本地快速测试;若你已配置 MariaDB,可按
Database相关配置切换。
username:主键hashed_password:密码哈希cid:身份证号phone:手机号create_time:创建时间
id:学号主键name:姓名age:年龄address:地址create_time:创建时间
实际建表逻辑请参考
src/main/java/cc/carm/study/practicum/student/database/DataTables.java。
- 先阅读
Main.java理解程序启动流程。 - 查看
view/事件绑定,再跟进controller/的业务处理。 - 阅读
utils/Validators.java与utils/BCrypt.java学习输入校验与密码处理。 - 结合
database/模块理解建表、查询与分页。
- 先确认用户名/密码是否正确。
- 再确认验证码输入是否一致(不区分大小写)。
- 检查数据库配置与网络连通性。
- 本地调试建议先使用 H2 方案验证流程。
请 点击这里 在 GitHub Issues 按提问模板填写后提交,我会统一回复。
本项目采用 GNU General Public License v3.0 开源。


