动态效果在b站上面上传了视频进行演示:
springboot+mybatis+thymeleaf(idea)学生信息管理系统(练习打卡!)
(学生信息管理系统通过文本框输入信息进行查询统一都是使用“模糊查询”)
一、登录页面
简单的判断输入用户名、密码是否为空就直接在前端js里面进行判断,如果输入为空,则提示“输入***为空,请重新输入!”
二、账户权限
本学生信息管理系统分成了三个权限:(1)超级管理员(教务),开放所有权限。
(2)教师:开放部分权限,可对教授班级的学生成绩、请假信息进行批阅、查看、修改等操作。
(3)学生:开放部分权限,可对自己的信息进行查看、修改密码、查看成绩、新增请假信息等。
三、数据表
四、超级管理员登录页面
(1)登录判断
(2)个人信息模块(目前统一默认首页显示个人信息模块)
(3)教学公告
(i)列表
(ii)新增
(iii)修改
(iv)删除
点击删除按钮进行删除
(4)教职工管理
(i)列表显示
(ii)新增
年级、班级、课程新增的时候可以不选择,默认显示“未分配”
(iii)修改
(iv)删除
点击删除按钮就可以完成删除操作。
(5)学生管理
(i)列表页面
(ii)新增
(iii)修改
(iv)删除
点击删除按钮就可完成删除操作。
(6)年级管理
(i)列表页面
(ii)新增
(iii)修改
修改的年级名称也不可以重复!
(iv)删除
点击删除按钮即可完成删除操作。
(7)班级管理
(i)列表页面
这里的教师类似于本班的班主任,在新增时可不选择,默认“未分配”
(ii)新增
(iii)修改
(iv)删除
点击删除按钮即可完成删除操作。
(8)学期管理
(i)列表页面
学期名称不可重复!
(ii)新增
(iv)删除
点击删除按钮即可完成删除操作。
(9)课程管理
(i)列表页面
(iii)修改
(iv)删除
点击删除按钮即可完成删除操作。
(10)学生成绩管理
(iv)删除
点击删除按钮即可完成删除操作。
(11)学生请假管理(超级管理员只可查看当前全校学生请假信息与教师批阅情况与强制删除记录)
(i)列表页面
(iv)删除
点击删除按钮即可完成删除操作。
五、教师登录(教师权限)
(1)登录判断
(2)教师权限登录(默认显示个人信息页面)
个人信息模块,统一只能查看个人信息与修改个人密码,其余信息必须联系超级管理员进行修改。
(3)教师审核请假
(i)列表页面
教师只可查看当前他所教授所有学生的请假信息列表。(教师选择班级,学生选择班级,所以当前教师所在的班级下所有的学生,就是该教师教授的所有学生)
(ii)更改/审核
教师可以通过学生提交的请假信息来进行审核是否“通过”,默认“未批阅”
(4)教师查看学生成绩
(i)列表页面
当前登录教师可以查看其教授所有学生的成绩信息。
(ii)更改
学生成绩出现偏差,教师可以手动修改学生成绩(修改成绩不用联系管理员)
六、学生登录(学生权限)
(1)登录判断
(2)个人信息(用户登录默认显示个人信息模块)
个人信息模块统一只可修改密码,其余信息需要提交管理员进行修改。
(iv)删除
点击删除按钮即可完成删除操作。
(4)个人成绩
学生可以查看个人成绩信息。
七、实体类
(1)班级
package com.example.yxytest.pojo;
/**
* 班级实体类
*/
public class Class {
/** 班级ID*/
private int id;
/** 班级*/
private String className;
/** 年级(默认未分配)*/
private String gradeName;
/** 教师姓名(默认未分配)*/
private String teacherName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public String getGradeName() {
return gradeName;
}
public void setGradeName(String gradeName) {
this.gradeName = gradeName;
}
public String getTeacherName() {
return teacherName;
}
public void setTeacherName(String teacherName) {
this.teacherName = teacherName;
}
}
(2)课程
package com.example.yxytest.pojo;
/**
* 课程实体类
*/
public class Course {
/** 课程ID*/
private int id;
/** 课程名称*/
private String courseName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
}
(3)年级
package com.example.yxytest.pojo;
/**
* 年级实体类
*/
public class Grade {
/** 年级ID*/
private int id;
/** 年级*/
private String gradeName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getGradeName() {
return gradeName;
}
public void setGradeName(String gradeName) {
this.gradeName = gradeName;
}
}
(4)教职工
package com.example.yxytest.pojo;
/**
* 职工登录实体类(超管(超管默认用户名:root、密码:root)、教师)
*/
public class Logon {
/** 职工表id*/
private int id;
/** 用户名*/
private String username;
/** 密码(默认12345))*/
private String pwd;
/** 性别*/
private String sex;
/** 课程名称(默认未分配))*/
private String courseName;
/** 年级名称(默认未分配))*/
private String gradeName;
/** 课程名称(默认未分配))*/
private String className;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
public String getGradeName() {
return gradeName;
}
public void setGradeName(String gradeName) {
this.gradeName = gradeName;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
}
(5)教学通知
package com.example.yxytest.pojo;
/**
* 教学通知实体类
*/
public class Notice {
/** 教学通知ID*/
private int id;
/** 发布内容*/
private String content;
/** 发布时间*/
private String date;
/** 通知公告标题*/
private String title;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
(6)成绩
package com.example.yxytest.pojo;
/**
* 成绩实体类
*/
public class Score {
/** 成绩ID*/
private int id;
/** c语言成绩*/
private String c_language;
/** java成绩*/
private String java_language;
/** python成绩*/
private String python_language;
/** 学生姓名*/
private String studentName;
/** 学期名称*/
private String semesterName;
/** 教师*/
private String teacherName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getC_language() {
return c_language;
}
public void setC_language(String c_language) {
this.c_language = c_language;
}
public String getJava_language() {
return java_language;
}
public void setJava_language(String java_language) {
this.java_language = java_language;
}
public String getPython_language() {
return python_language;
}
public void setPython_language(String python_language) {
this.python_language = python_language;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getSemesterName() {
return semesterName;
}
public void setSemesterName(String semesterName) {
this.semesterName = semesterName;
}
public String getTeacherName() {
return teacherName;
}
public void setTeacherName(String teacherName) {
this.teacherName = teacherName;
}
}
(7)学期
package com.example.yxytest.pojo;
/**
* 学期实体类
*
* @author yxy
* @date 2023/6/1
*/
public class Semester {
/** 学期ID*/
private int id;
/** 学期名称*/
private String semesterName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSemesterName() {
return semesterName;
}
public void setSemesterName(String semesterName) {
this.semesterName = semesterName;
}
}
(8)学生
package com.example.yxytest.pojo;
/**
* 学生实体类
*/
public class Student {
/** 学生ID*/
private int id;
/** 学生姓名*/
private String username;
/** 性别*/
private String sex;
/** 密码默认12345)*/
private String pwd;
/** 班级默认未分配)*/
private String className;
/** 年级(默认未分配)*/
private String gradeName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public String getGradeName() {
return gradeName;
}
public void setGradeName(String gradeName) {
this.gradeName = gradeName;
}
}
(9)请假
package com.example.yxytest.pojo;
/**
* 请假-实体类
*
* @author yxy
* @date 2023/6/1
*/
public class Vacation {
/** 学生请假表ID*/
private int id;
/** 学生姓名*/
private String studentName;
/** 请假内容*/
private String content;
/** 请假类型(事假/病假)*/
private String type;
/** 请假时长(例:2023-6.1 - 2023.6.2)*/
private String vacationDate;
/** 提交请假时间*/
private String date;
/** 批阅教师*/
private String teacherName;
/** 是否同意*/
private String isAgree;
/** 批阅时间*/
private String examineDate;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getVacationDate() {
return vacationDate;
}
public void setVacationDate(String vacationDate) {
this.vacationDate = vacationDate;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getTeacherName() {
return teacherName;
}
public void setTeacherName(String teacherName) {
this.teacherName = teacherName;
}
public String getIsAgree() {
return isAgree;
}
public void setIsAgree(String isAgree) {
this.isAgree = isAgree;
}
public String getExamineDate() {
return examineDate;
}
public void setExamineDate(String examineDate) {
this.examineDate = examineDate;
}
}