# 学生请假管理系统 一个基于Java Swing的学生请假管理系统,使用JDBC连接MySQL数据库。 ## 项目结构 AbsenceManager/ ├── src/ # 源代码目录 │ ├── dao/ # 数据访问层 │ │ └── impl/ # DAO接口实现类 │ ├── service/ # 业务逻辑层 │ ├── model/ # 数据模型层 │ ├── gui/ # 图形界面层 │ └── util/ # 工具类 ├── lib/ # 第三方依赖库 ├── sql/ # 数据库相关文件 │ └── init.sql # 数据库初始化脚本 └── README.md # 项目说明文档 ## 技术栈 - Java SE - Java Swing (GUI界面) - MySQL (数据库) - JDBC (数据库连接) ## 功能特性 1. 用户管理 - 学生账号登录 - 教师账号登录 - 基本信息维护 2. 请假申请 - 学生提交日常出校申请 - 支持多种请假类型(学习、就医、办事等) - 自动计算请假时长 - 是否离津标记 - 详细事由说明 3. 请假审批 - 教师查看待审批申请 - 按状态筛选(待审批、已通过、已拒绝) - 教师审批处理 - 审批意见填写 - 审批结果通知 4. 信息查询 - 学生查看个人请假记录 - 教师查看所有请假记录 - 按时间范围查询 - 按审批状态筛选 - 双击查看详细信息 5. 界面特性 - 简洁美观的Swing界面 - 分页显示数据 - 表格化展示信息 - 详情对话框展示 ## 运行环境要求 - JDK 8 或更高版本 - MySQL 5.7 或更高版本 - IDE推荐使用IntelliJ IDEA ## 任务步骤 ## Day 1 - 项目框架搭建 ### 任务步骤 1. 项目初始化 - 创建Java项目 - 建立项目目录结构(src, lib, sql等,参考“项目结构”部分) - 导入必要的第三方库(mysql-connector-java.jar) 2. 数据库配置 - 创建MySQL数据库(absence_manager) - 运行sql/init.sql脚本创建表结构 - 配置数据库连接(src/util/DatabaseUtil.java) 3. 实现学生实体类(model/Student.java) ```java public class Student { private int id; // 数据库主键ID private String studentId; // 学号 private String name; // 学生姓名 private String className; // 班级 private String contact; // 联系方式 private String college; // 学院 private String major; // 专业 private String password; // 登录密码 // 构造方法 // getter和setter方法 } ``` 4. 测试运行 - 测试数据库连接 - 确保项目能够正常编译运行 ### 完成标准 - [ ] 项目结构完整,包含所有必要的目录 - [ ] 成功导入所需的第三方库 - [ ] 数据库表结构创建完成 - [ ] 数据库连接配置正确 - [ ] Student类实现完整,包含所有必要的属性和方法 - [ ] 项目可以正常编译运行 ### 注意事项 1. 建立项目时注意包结构的规范性 2. 数据库字符集使用utf8mb4,避免中文乱码 3. 代码编写要规范,加上必要的注释 4. 提交代码前进行本地测试,确保无编译错误 ### 参考代码 ![](https://static.seahi.me/2024/12/202412171225346.png) ![](https://static.seahi.me/2024/12/202412171226194.png)