基于SSM框架的教务系统
简介
这是个基于SSM+Bootstrap的教务查询系统,是一个简单的教务查询系统.
做了关于数据库的增删改查练习。
用来熟悉SSM的整合开发。
技术
IOC容器:Spring Web框架:SpringMVC
ORM框架:Mybatis
数据源:C3P0
日志:log4j
前端框架:Bootstrap
环境
运行环境 jdk8+tomcat8+mysql+Eclipse+maven(jdk7,tomcat7也支持)
项目技术: spring+spring mvc+mybatis+bootstrap+jquery
管理员模块
管理员可对 教师信息、学生信息、课程信息 进行 增删改查 操作,管理员账户,可以重置非管理员账户的密码
* 课程管理:当课程已经有学生选课成功时,将不能删除
* 学生管理:添加学生信息时,其信息也会添加到登录表中
* 教师管理:同上
* 账户密码重置:
* 修改密码:
教师模块
教师登陆后,可以获取其,教授的课程列表,并可以给已经选择该课程的同学打分,无法对已经给完分的同学进行二次操作
* 我的课程
* 修改密码
学生模块
学生登录后,根据学生信息,获取其已经选择的课程,和已经修完的课程
* 所有课程: 在这里选修课程,选好后,将会自动跳转到已选课程选项
* 已选课程: 这里显示的是,还没修完的课程,也就是老师还没给成绩,由于还没有给成绩,所以这里可以进行退课操作
* 已修课程: 显示已经修完,老师已经给成绩的课程
* 修改密码:
SQL文件:
create database examination_system default character set utf8 collate utf8_bin;
use examination_system;
#原地址:https://blog.csdn.net/qq_40374604/article/details/88019175
CREATE TABLE `college` (
`collegeID` int(11) NOT NULL,
`collegeName` varchar(200) NOT NULL COMMENT '课程名',
PRIMARY KEY (`collegeID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `college` VALUES ('1', '计算机系');
INSERT INTO `college` VALUES ('2', '设计系');
INSERT INTO `college` VALUES ('3', '财经系');
CREATE TABLE `course` (
`courseID` int(11) NOT NULL,
`courseName` varchar(200) NOT NULL COMMENT '课程名称',
`teacherID` int(11) NOT NULL,
`courseTime` varchar(200) DEFAULT NULL COMMENT '开课时间',
`classRoom` varchar(200) DEFAULT NULL COMMENT '开课地点',
`courseWeek` int(200) DEFAULT NULL COMMENT '学时',
`courseType` varchar(20) DEFAULT NULL COMMENT '课程类型',
`collegeID` int(11) NOT NULL COMMENT '所属院系',
`score` int(11) NOT NULL COMMENT '学分',
PRIMARY KEY (`courseID`),
KEY `collegeID` (`collegeID`),
KEY `teacherID` (`teacherID`),
CONSTRAINT `course_ibfk_1` FOREIGN KEY (`collegeID`) REFERENCES `college` (`collegeID`),
CONSTRAINT `course_ibfk_2` FOREIGN KEY (`teacherID`) REFERENCES `teacher` (`userID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `course` VALUES ('1', 'C语言程序设计', '1001', '周二', '科401', '18', '必修课', '1', '3');
INSERT INTO `course` VALUES ('2', 'Python爬虫技巧', '1001', '周四', 'X402', '18', '必修课', '1', '3');
INSERT INTO `course` VALUES ('3', '数据结构', '1001', '周四', '科401', '18', '必修课', '1', '2');
INSERT INTO `course` VALUES ('4', 'Java程序设计', '1002', '周五', '科401', '18', '必修课', '1', '2');
INSERT INTO `course` VALUES ('5', '英语', '1002', '周四', 'X302', '18', '必修课', '2', '2');
INSERT INTO `course` VALUES ('6', '服装设计', '1003', '周一', '科401', '18', '选修课', '2', '2');
CREATE TABLE `role` (
`roleID` int(11) NOT NULL,
`roleName` varchar(20) NOT NULL,
`permissions` varchar(255) DEFAULT NULL COMMENT '权限',
PRIMARY KEY (`roleID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `role` VALUES ('0', 'admin', null);
INSERT INTO `role` VALUES ('1', 'teacher', null);
INSERT INTO `role` VALUES ('2', 'student', null);
CREATE TABLE `selectedcourse` (
`courseID` int(11) NOT NULL,
`studentID` int(11) NOT NULL,
`mark` int(11) DEFAULT NULL COMMENT '成绩',
KEY `courseID` (`courseID`),
KEY `studentID` (`studentID`),
CONSTRAINT `selectedcourse_ibfk_1` FOREIGN KEY (`courseID`) REFERENCES `course` (`courseID`),
CONSTRAINT `selectedcourse_ibfk_2` FOREIGN KEY (`studentID`) REFERENCES `student` (`userID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `selectedcourse` VALUES ('2', '10001', '12');
INSERT INTO `selectedcourse` VALUES ('1', '10001', '95');
INSERT INTO `selectedcourse` VALUES ('1', '10002', '66');
INSERT INTO `selectedcourse` VALUES ('1', '10003', null);
INSERT INTO `selectedcourse` VALUES ('2', '10003', '99');
INSERT INTO `selectedcourse` VALUES ('5', '10001', null);
INSERT INTO `selectedcourse` VALUES ('3', '10001', null);
CREATE TABLE `student` (
`userID` int(11) NOT NULL AUTO_INCREMENT,
`userName` varchar(200) NOT NULL,
`sex` varchar(20) DEFAULT NULL,
`birthYear` date DEFAULT NULL COMMENT '出生日期',
`grade` date DEFAULT NULL COMMENT '入学时间',
`collegeID` int(11) NOT NULL COMMENT '院系id',
PRIMARY KEY (`userID`),
KEY `collegeID` (`collegeID`),
CONSTRAINT `student_ibfk_1` FOREIGN KEY (`collegeID`) REFERENCES `college` (`collegeID`)
) ENGINE=InnoDB AUTO_INCREMENT=10007 DEFAULT CHARSET=utf8;
INSERT INTO `student` VALUES ('10001', '小黄', '男', '1996-09-02', '2015-09-02', '1');
INSERT INTO `student` VALUES ('10002', '小米', '女', '1995-09-14', '2015-09-02', '3');
INSERT INTO `student` VALUES ('10003', '小陈', '女', '1996-09-02', '2015-09-02', '2');
INSERT INTO `student` VALUES ('10004', '小华', '男', '1996-09-02', '2015-09-02', '2');
INSERT INTO `student` VALUES ('10005', '小左', '女', '1996-09-02', '2015-09-02', '2');
INSERT INTO `student` VALUES ('10006', '小拉', '女', '1996-09-02', '2015-09-02', '1');
CREATE TABLE `teacher` (
`userID` int(11) NOT NULL AUTO_INCREMENT,
`userName` varchar(200) NOT NULL,
`sex` varchar(20) DEFAULT NULL,
`birthYear` date NOT NULL,
`degree` varchar(20) DEFAULT NULL COMMENT '学历',
`title` varchar(255) DEFAULT NULL COMMENT '职称',
`grade` date DEFAULT NULL COMMENT '入职时间',
`collegeID` int(11) NOT NULL COMMENT '院系',
PRIMARY KEY (`userID`),
KEY `collegeID` (`collegeID`),
CONSTRAINT `teacher_ibfk_1` FOREIGN KEY (`collegeID`) REFERENCES `college` (`collegeID`)
) ENGINE=InnoDB AUTO_INCREMENT=1004 DEFAULT CHARSET=utf8;
INSERT INTO `teacher` VALUES ('1001', '刘老师', '女', '1990-03-08', '硕士', '副教授', '2015-09-02', '2');
INSERT INTO `teacher` VALUES ('1002', '张老师', '男', '1996-09-02', '本科', '普通教师', '2015-09-02', '1');
INSERT INTO `teacher` VALUES ('1003', '软老师', '男', '1996-09-02', '硕士', '助教', '2017-07-07', '1');
CREATE TABLE `userlogin` (
`userID` int(11) NOT NULL AUTO_INCREMENT,
`userName` varchar(200) NOT NULL,
`password` varchar(200) NOT NULL,
`role` int(11) NOT NULL DEFAULT '2' COMMENT '角色权限',
PRIMARY KEY (`userID`),
KEY `role` (`role`),
CONSTRAINT `userlogin_ibfk_1` FOREIGN KEY (`role`) REFERENCES `role` (`roleID`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;
INSERT INTO `userlogin` VALUES ('1', 'admin', '123', '0');
INSERT INTO `userlogin` VALUES ('8', '10001', '123', '2');
INSERT INTO `userlogin` VALUES ('9', '10002', '123', '2');
INSERT INTO `userlogin` VALUES ('10', '10003', '123', '2');
INSERT INTO `userlogin` VALUES ('11', '10005', '123', '2');
INSERT INTO `userlogin` VALUES ('12', '10004', '123', '2');
INSERT INTO `userlogin` VALUES ('13', '10006', '123', '2');
INSERT INTO `userlogin` VALUES ('14', '1001', '123', '1');
INSERT INTO `userlogin` VALUES ('15', '1002', '123', '1');
INSERT INTO `userlogin` VALUES ('16', '1003', '123', '1');