学习Java实现自动排课系统,本文实现该系统的功能截图,和数据库设计SQL语句供大家参考
1.自动排课系统背景
本系统根据学校业务规则作出一套可以通过算法自动排课的系统。
2.自动排课系统技术架构
主要技术
Spring、SpringMVC、Mybatis
JSP、JSTL、jQuery、HTML、CSS、JS
Mysql
bootstrap
开发工具和环境
Eclipse
Maven
Tomcat 7
JDK 1.8
Mysql 5.6
Win10 操作系统
3.自动排课系统数据库设计
CREATE TABLE `admin` (
`id` varchar(20) NOT NULL,
`NAME` varchar(20) NOT NULL,
`sex` varchar(2) NOT NULL,
`age` int(11) DEFAULT NULL,
`idcard` varchar(20) NOT NULL,
`phone` varchar(20) NOT NULL,
`QQ` varchar(20) DEFAULT NULL,
`emai` varchar(20) DEFAULT NULL,
`PASSWORD` varchar(20) DEFAULT NULL,
`STATUS` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `classes` (
`classesId` int(11) NOT NULL AUTO_INCREMENT,
`classesName` varchar(20) NOT NULL,
`grade` varchar(20) NOT NULL,
PRIMARY KEY (`classesId`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8
CREATE TABLE `classroom` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`NAME` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
CREATE TABLE `courseclassroom` (
`classesId` int(11) NOT NULL,
`row1` int(11) NOT NULL,
`column1` int(11) NOT NULL,
`classroomId` int(11) NOT NULL,
PRIMARY KEY (`classesId`,`row1`,`column1`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `student` (
`id` varchar(20) NOT NULL,
`classesId` int(11) DEFAULT NULL,
`name` varchar(20) NOT NULL,
`sex` varchar(2) NOT NULL,
`age` int(11) DEFAULT NULL,
`idcard` varchar(20) NOT NULL,
`phone` varchar(20) NOT NULL,
`QQ` varchar(20) DEFAULT NULL,
`email` varchar(20) DEFAULT NULL,
`password` varchar(20) DEFAULT NULL,
`status` int(11) DEFAULT NULL,
`classesName` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK_studentClasses` (`classesId`),
CONSTRAINT `FK_studentClasses` FOREIGN KEY (`classesId`) REFERENCES `classes` (`classesId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `subject` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`NAME` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8
CREATE TABLE `subjectclasses` (
`classesId` int(11) NOT NULL,
`id` int(11) NOT NULL,
`numCount` int(11) DEFAULT NULL,
PRIMARY KEY (`classesId`,`id`),
KEY `FK_subjectClasses2` (`id`),
CONSTRAINT `FK_subjectClasses` FOREIGN KEY (`classesId`) REFERENCES `classes` (`classesId`),
CONSTRAINT `FK_subjectClasses2` FOREIGN KEY (`id`) REFERENCES `subject` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `teacher` (
`id` varchar(20) NOT NULL,
`NAME` varchar(20) NOT NULL,
`sex` varchar(2) NOT NULL,
`age` int(11) DEFAULT NULL,
`idcard` varchar(20) NOT NULL,
`phone` varchar(20) NOT NULL,
`QQ` varchar(20) DEFAULT NULL,
`email` varchar(20) DEFAULT NULL,
`PASSWORD` varchar(20) DEFAULT NULL,
`STATUS` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `teacher_classes` (
`id` varchar(20) NOT NULL,
`classesId` int(11) NOT NULL,
`subId` int(11) NOT NULL,
PRIMARY KEY (`id`,`classesId`,`subId`),
KEY `FK_teacher_classes2` (`classesId`),
KEY `FK_teacher_classes3` (`subId`),
CONSTRAINT `FK_teacher_classes` FOREIGN KEY (`id`) REFERENCES `teacher` (`id`),
CONSTRAINT `FK_teacher_classes2` FOREIGN KEY (`classesId`) REFERENCES `classes` (`classesId`),
CONSTRAINT `FK_teacher_classes3` FOREIGN KEY (`subId`) REFERENCES `subject` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `teacher_subject` (
`id` varchar(20) NOT NULL,
`sub_id` int(11) NOT NULL,
PRIMARY KEY (`id`,`sub_id`),
KEY `FK_teacher_subject2` (`sub_id`),
CONSTRAINT `FK_teacher_subject` FOREIGN KEY (`id`) REFERENCES `teacher` (`id`),
CONSTRAINT `FK_teacher_subject2` FOREIGN KEY (`sub_id`) REFERENCES `subject` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
4.自动排课系统管理员功能介绍
4.1管理员登录功能
4.2管理员后台登录首页功能
4.3管理员修改密码功能
4.4管理员维护学科功能
4.5管理员学生管理功能
4.6管理员老师管理功能
4.7管理员班级管理功能
4.8管理员班级成员管理功能
4.9管理员班级课程管理功能
4.10管理员教室管理功能
4.11管理员班级自动排课功能
点击自动排课根据班级课程每周上的次数自动进行排课
4.12管理员班级课程表查看功能
4.12管理员班级课程表详情查看功能
4.12管理员老师学生信息删除和密码重置功能
5.自动排课系统老师功能介绍
5.1老师登录功能
5.2老师登录首页展示功能
5.3老师修改密码功能
5.4老师退出登录功能
5.5老师课程表查看功能
5.5老师课程表详情查看功能
6.自动排课系统学生功能介绍
5.1学生登录功能
5.2学生登录首页展示功能
5.3学生修改密码功能
5.4学生退出登录功能
5.5学生课程表查看功能
5.5学生课程表详情查看功能