学生管理系统 随着学习进度更新
第一次更新-2025.05.09
将静态数组管理学生改为动态(ArrayList)
第二次修改-2025.06.25
将整体逻辑改为mysql管理学生信息
第三次修改-2025.06.27
优化数据库连接安全性,使用配置文件管理数据库连接信息
- Java 21
- Maven 3.6+
- MySQL 8.0+
在配置应用程序之前,你需要初始化数据库:
# 登录MySQL
mysql -u root -p
# 执行初始化脚本
source database/init.sql
# 或者直接执行
mysql -u root -p < database/init.sql初始化脚本将会:
- 创建
student_management数据库 - 创建
students表及相关索引 - 插入一些示例数据
# 克隆项目
git clone https://github.com/your-username/Student-Management-System.git
cd Student-Management-System
# 运行配置脚本
./setup.sh
# 启动应用
./start.sh-
克隆项目:
git clone https://github.com/your-username/Student-Management-System.git cd Student-Management-System -
配置数据库:
cp src/main/resources/database.properties.example src/main/resources/database.properties
-
编辑
src/main/resources/database.properties文件:database.url=jdbc:mysql://your-host:3306/your-database-name?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC&characterEncoding=utf8&useUnicode=true database.username=your-username database.password=your-password database.driver=com.mysql.cj.jdbc.Driver
-
编译和运行:
mvn clean compile mvn exec:java
database.properties文件包含敏感信息,已被添加到.gitignore中,不会上传到版本控制- 请使用
database.properties.example作为配置模板 - 在生产环境中,请确保数据库密码足够复杂且定期更换
- 永远不要将包含真实密码的配置文件提交到版本控制
- 在服务器部署时,使用环境变量或安全的密钥管理服务
- 定期轮换数据库密码
- 使用最小权限原则,数据库用户只需要必要的权限
Student-Management-System/
├── src/main/java/ # Java源代码目录
│ ├── Center.java # 主程序入口和用户界面
│ ├── Student.java # 学生实体类
│ ├── StudentDAO.java # 数据访问对象,处理数据库操作
│ ├── DatabaseUtil.java # 数据库连接工具类
│ ├── ConfigManager.java # 配置管理工具类
│ └── ValidationUtil.java # 数据验证工具类
├── src/main/resources/ # 资源文件目录
│ ├── database.properties # 数据库配置文件(敏感信息,不上传)
│ └── database.properties.example # 配置文件模板
├── database/ # 数据库相关文件
│ └── init.sql # 数据库初始化脚本
├── setup.sh # 配置向导脚本
├── start.sh # 启动脚本
├── deploy-check.sh # 部署前安全检查脚本
├── .gitignore # Git忽略文件配置
├── pom.xml # Maven项目配置文件
├── README.md # 项目简介
└── LICENSE # 项目许可证
- 学生信息管理(增删改查)
- 安全的数据库连接配置
- 输入数据验证
MIT License