Skip to content

CarmJos/StudentUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StudentUI - Java Swing 学生管理实训项目

Java Build Code Size License

一个面向教学场景的桌面端学生管理系统,基于 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

快速开始

1) 环境准备

  • JDK 21+
  • Maven 3.9+

2) 拉取并构建

mvn clean test

3) 运行程序

在 IntelliJ IDEA 中直接运行 src/main/java/cc/carm/study/practicum/student/Main.java

说明:项目内已包含 H2 相关依赖,默认可用于本地快速测试;若你已配置 MariaDB,可按 Database 相关配置切换。

数据设计(简述)

users

  • username:主键
  • hashed_password:密码哈希
  • cid:身份证号
  • phone:手机号
  • create_time:创建时间

students

  • id:学号主键
  • name:姓名
  • age:年龄
  • address:地址
  • create_time:创建时间

实际建表逻辑请参考 src/main/java/cc/carm/study/practicum/student/database/DataTables.java

实训建议学习路径

  1. 先阅读 Main.java 理解程序启动流程。
  2. 查看 view/ 事件绑定,再跟进 controller/ 的业务处理。
  3. 阅读 utils/Validators.javautils/BCrypt.java 学习输入校验与密码处理。
  4. 结合 database/ 模块理解建表、查询与分页。

常见问题(FAQ)

Q1: 为什么登录失败?

  • 先确认用户名/密码是否正确。
  • 再确认验证码输入是否一致(不区分大小写)。

Q2: 启动时数据库连接失败怎么办?

  • 检查数据库配置与网络连通性。
  • 本地调试建议先使用 H2 方案验证流程。

Q3: 我正在学习,有不理解的地方,哪里可以提问?

点击这里 在 GitHub Issues 按提问模板填写后提交,我会统一回复。

开源协议

本项目采用 GNU General Public License v3.0 开源。

About

(Java 实训项目) 简单的学生管理系统,包括Swing GUI、JDBC数据库操作以及基础的密码加密与数据校验。

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages