# 学生信息管理GUI 入门级项目 **Repository Path**: xiaoxingbaba/student-management---gui ## Basic Information - **Project Name**: 学生信息管理GUI 入门级项目 - **Description**: 学生管理系统GUI设计,简单易懂 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 1 - **Created**: 2024-04-05 - **Last Updated**: 2025-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: 学生信息管理系统, GUI, Java入门, 初级 ## README 漫漫求知路,不复少年郎--作者什么都没有留下 ## 初衷 学生管理系统学习编程的入门级项目,而GUI界面是从程序到软件的重要一环 本项目基于java语言从一个学生管理系统进行GUI界面的开发,实现了从Mysql数据库到可视化界面的整个流程 项目将采用最简单方式从软件安装到实现解决设计中的各种问题以保证达到预期效果 ## 预览 ### 登录界面 登录界面可以输入账户信息后登录(默认无账户) 可点击注册后进行注册 ![image-20240406140458399](图片/image-20240406140458399.png) ### 注册界面 注册的信息会保存至数据库中,可用于登录 ![image-20240406140541101](图片/image-20240406140541101.png) ### 小提示 登录或注册成功后会有窗口提示信息 ![image-20240406140825871](图片/image-20240406140825871.png) ### 学生信息面板 面板中添加了学生信息的操作按钮 ![image-20240406141213425](图片/image-20240406141213425.png) ### 学生信息修改面板 根据信息面板中的添加或修改按钮会生成该面板,入学时间与当前年份比较(4年毕业) ![image-20240406141019169](图片/image-20240406141019169.png) ## 安装 ### MySQL #### 第一步 [sql官网](https://dev.mysql.com/downloads/)下载绿色版--极简 此处选择绿色版安装,相对更加轻便 ![image-20240406132108332](图片/image-20240406132108332.png) #### 第二步 放置文件夹,bin路径添加至环境变量 在系统环境变量中添加如图bin目录 ​ ![image-20240406132630222](图片/image-20240406132630222.png) #### 第三步 (清空文件夹内data目录并创建my.ini文件) 删除文件夹内data目录 ![image-20240406132933447](图片/image-20240406132933447.png) ``` [mysqld] #设置3306端口 port=3306 #服务端使用的字符集默认为UTF8 character-set-server=utf8 #创建新表时将使用的默认存储引擎 default-storage-engine=INNODB [mysql] #设置mysql客户端默认字符集 default-character-set=utf8 [client] #设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8 ``` #### 第四步 初始化并生成临时密码 执行初始化命令 ``` mysqld --initialize --console ``` #### ![image-20240406133144779](图片/image-20240406133144779.png)第五步 (安装mysql服务并启动) 执行安装 ``` mysqld --install ``` 提示Service successfully installed就是安装成功 执行mysql运行服务 ``` net start mysql ``` * 提示MySQL 服务已经启动成功就是运行成功,若出现问题可检查注册表路径 1. Win+R输入regedit打开注册表 2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL 在该路径下找到MySQL映像文件ImagePath并检查路径是否正确 ![image-20240406133637606](图片/image-20240406133637606.png) #### 第六步 登录MySQL 执行(默认用户名:root 密码:第四步中中临时密码): ``` mysql -uroot -p ``` 输入密码后回车,登录成功! ![image-20240406134423397](图片/image-20240406134423397.png) 修改密码执行语句: ``` ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "123456"; ``` 退出: ``` exit ``` ### idea 本项目使用java语言开发以下是一些相关注意事项 #### SDK编译器 项目需要使用SDK17,idea中支持直接添加并下载SDK17 ![image-20240406135606591](图片/image-20240406135606591.png) #### maven maven注意事项中需要查看porn文件是否报红,确保本地存储库中依赖已存在 ## 配置 项目运行前需要设置mysql数据库并初始化 ### 设置账户密码 ![image-20240406140032499](图片/image-20240406140032499.png) ### 创建数据库 创建信息,进入本地mysql中执行以下语句: ```sql CREATE DATABASE studentmessage; use studentmessage; create table studentAll ( id int auto_increment primary key, sid varchar(32) null, name varchar(16) null, age int null, enterTime varchar(16) null, major varchar(16) null, grade varchar(16) null, loveSubj varchar(16) null, status varchar(16) null ); create table tb_user ( id int auto_increment primary key, username varchar(15) null, password varchar(15) null, role tinyint ); ``` ### 运行程序 运行LoginView.java文件 ![image-20240406141505516](图片/image-20240406141505516.png) ## 程序设计 采用了类似三层架构的思想将业务逻辑层,数据访问层和表现层分包编写。 在数据访问层用Mybatis简化了JDBC代码的书写,采取mapper代理开发让Mybatis更加简单。 在业务逻辑层编写了增删改查注册登录方法可以供表现层单独调用。 在表现层以图形界面形式展示各个功能,捕获用户操作对数据库进行处理。 (**具体功能见程序**) ### 对象 Data对象包括了学生类和用户类。学生类是主要操作对象,而用户类中主要存放具体的用户信息。数据会从MySQL数据库和程序内部实时交互。 ### 代理层 mapper代理层中采用注解方式进行开发,包含了StudentMapper和UserMapper,其中编写了一些连接数据库等基本操作 ### 服务层 service服务层中主要是对代理层中一些业务的补充。 ### 表现层 GUI表现层中主要是对图形化界面的呈现,包括了LoginView(登录界面)、RegisterVie(注册界面)、UserListView(系统主界面)、UpdateView(修改信息界面)、AddView(添加学生界面)共5个界面。 ### 控件 本项目基于swing+mybatis进行开发,主要继承swing中的jframe方法,采用直接绘制控件面板的方式进行GUI界面的设计,并通过mybatis与mysql连接进行数据互通。