# springboot_project **Repository Path**: liweimao/springboot_project ## Basic Information - **Project Name**: springboot_project - **Description**: 基于 SpringBoot 和 Vue 开发的简单 学生选课管理系统 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 16 - **Forks**: 0 - **Created**: 2022-11-16 - **Last Updated**: 2025-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: 学生选课管理系统, SpringBoot, Vue, MyBatis, Java ## README # :point_right: **学生选课管理系统** :point_left: #### 介绍 基于 **SpringBoot** 和 **Vue** 开发的简单的 **学生选课管理系统** 。该系统分为管理员、教师和学生三类用户,每类用户登录该系统都拥有不同的权限。 - 学生可以在管理员规定的选课时间内登陆系统选课或者取消选课、查询所选课程的成绩、查询修改个人信息以及修改登陆密码; - 教师可以根据自己开设课程查询到每个课程的学生信息,并且可以在管理员规定的打分时间内给每个课程的学生打分,除此还可以查询修改个人信息以及修改登录密码; - 管理员可以对学生信息、教师信息、课程信息以及院系信息进行增删改查操作,可以对学生的选课信息进行查询和删除操作,可以动态设置学生选课时间和教师打分时间,并且还可以对学 生和教师的账号进行启用和禁用,除此还有数据报表的功能。 #### 开发环境 - 开发工具:IDEA 2022、Navicat 15 - 系统界面:Web方式 - 前台开发:Vue框架、Element-UI组件库、axios跨域请求 - 后台开发:SpringBoot框架、maven管理 - 数据库开发:MyBatis框架、MySql、JDBC #### 数据库表设计 1. 学生信息表(student) ``` CREATE TABLE `student` ( `sno` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学号', `sname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '姓名', `ssex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '性别', `sage` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '年龄', `sdept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '系别', `status` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '帐号状态', PRIMARY KEY (`sno`), KEY `sname` (`sname`), KEY `student_ibfk_1` (`sdept`), KEY `sname_2` (`sname`,`sno`), CONSTRAINT `student_ibfk_1` FOREIGN KEY (`sdept`) REFERENCES `department` (`dname`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` 2. 教师信息表(teacher) ``` CREATE TABLE `teacher` ( `tno` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '教工号', `tname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '姓名', `tsex` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '性别', `tage` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '年龄', `teb` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学历', `tpt` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '职称', `cno1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主讲课程一', `cno2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主讲课程二', `cno3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主讲课程三', `status` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '帐号状态', PRIMARY KEY (`tno`), KEY `teacher_ibfk_1` (`cno1`), KEY `teacher_ibfk_2` (`cno2`), KEY `teacher_ibfk_3` (`cno3`), CONSTRAINT `teacher_ibfk_1` FOREIGN KEY (`cno1`) REFERENCES `course` (`cno`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `teacher_ibfk_2` FOREIGN KEY (`cno2`) REFERENCES `course` (`cno`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `teacher_ibfk_3` FOREIGN KEY (`cno3`) REFERENCES `course` (`cno`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` 3. 课程信息表(course) ``` CREATE TABLE `course` ( `cno` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '课程号', `cname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '课程名', `cpno` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '先行课编号', `ccredit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学分', PRIMARY KEY (`cno`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` 4. 院系信息表(department) ``` CREATE TABLE `department` ( `dno` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '系编号', `dname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '系名', `dmanager` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '系主任', PRIMARY KEY (`dname`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` 5. 选课信息表(sct) ``` CREATE TABLE `sct` ( `sno` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学号', `cno` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '课程号', `tno` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '教工号', `grade` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '成绩', PRIMARY KEY (`sno`,`cno`,`tno`), KEY `sct_ibfk_2` (`cno`), KEY `sct_ibfk_3` (`tno`), CONSTRAINT `sct_ibfk_1` FOREIGN KEY (`sno`) REFERENCES `student` (`sno`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `sct_ibfk_2` FOREIGN KEY (`cno`) REFERENCES `course` (`cno`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `sct_ibfk_3` FOREIGN KEY (`tno`) REFERENCES `teacher` (`tno`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` 6. 注册/登陆信息表(login) ``` CREATE TABLE `login` ( `username` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `usertype` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` 7. 学生选课和教师打分时间表(timeset) ``` CREATE TABLE `timeset` ( `usertype` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `start` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `end` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `status` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `count` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` #### 界面展示 1. 登陆界面 ![输入图片说明](%E9%A1%B5%E9%9D%A2%E5%B1%95%E7%A4%BA%E5%9B%BE%E7%89%87login.png) 2. admin管理员界面 ![输入图片说明](%E9%A1%B5%E9%9D%A2%E5%B1%95%E7%A4%BA%E5%9B%BE%E7%89%87admin.png) 3. teacher教师界面 ![输入图片说明](%E9%A1%B5%E9%9D%A2%E5%B1%95%E7%A4%BA%E5%9B%BE%E7%89%87teacher.png) 4. student学生界面 ![输入图片说明](%E9%A1%B5%E9%9D%A2%E5%B1%95%E7%A4%BA%E5%9B%BE%E7%89%87student.png)