1、完整版)教务查询系统 简介 这个项目是一个简单的教务查询系统,该练手小项目希望能帮助到大家,熟悉SSM的整合开发 使用技术 IOC容器:Spring Web框架:SpringMVC ORM框架:Mybatis 安全框架:Shiro 数据源:C3P0 日志:log4j 前端框架:Bootstrap 快速上手 1、运行环境和所需工具 · 编译器:eclipse · 项目构建工具:Maven · 数据库:Mysql · JDK版本:jdk1。8 · Tomcat版本:Tomcat8。x 初始化项目 · 在你的Mysql中,创建一个数据库名称为 examinat
2、ion_system 的数据库,并导入我提供的 。sql 文件, · 进入src/main/resources修改mysql。properties配置文件,把数据库登录名和密码,改为你本地的 · 使用 eclipse 导入项目,选择Maven项目选项,一路点击next就行,导入项目后,如果src目录等,都没显示出来,别急先使用Maven构建该项目 · 在 eclipse 中,配置我们的 Tomcat, 然后把使用Maven构建好的项目添加到Tomcat中 · 运行 · 登录账户 · 管理员账户:admin · 老师账户:1001 · 学生账户:10001 · 密码均为:1
3、23 功能模块介绍 1、登录模块功能 使用Shiro权限管理框架,实现登录验证和登录信息的储存,根据不同的登录账户,分发权限角色,对不同页面url进行角色设置 用户、角色、菜单、用户与角色关系、角色与菜单的关系 用户:用户ID、用户名、密码、角色 角色:角色ID、角色名、权限 教师:ID、姓名、性别、出生日期、学历、职称、入职时间、院系 学生:ID、姓名、性别、出生日期、入学时间、院系 院系:ID、院系名称 课程: ID、课程名称、开课老师、开课时间、开课地点、学时、课程类型、所属院系、学分 CREATE TABLE `userlogin` ( `userID`
4、 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`) )
5、ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8; InnoDB 是MySQL的数据库引擎之一,是一套放在 MySQL 后台的完整数据库系统 AUTO_INCREMENT=1 自增键的起始序号为17 DEFAULT CHARSET=utf8 数据库默认编码为utf—8 -- -—-————---——-—-—--—-———-—--— —— Records of userlogin -— ——-—---—--—-—--———--———-—-—- INSERT INTO `userlogin` VALUES (
6、'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
7、 ('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’); CREATE TABLE `role` ( `
8、roleID` int(11) NOT NULL, `roleName` varchar(20) NOT NULL, `permissions` varchar(255) DEFAULT NULL COMMENT '权限', PRIMARY KEY (`roleID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -— -—-—-——----—--——-———-——————- -— Records of role -- ——-—---———--—-—-—————-———-—— INSERT INTO `role` VALUES (
9、'0’, ’admin', null); INSERT INTO `role` VALUES ('1’, 'teacher’, null); INSERT INTO `role` VALUES (’2’, 'student', null); CREATE TABLE `teacher` ( `userID` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(200) NOT NULL, `sex` varchar(20) DEFAULT NULL, `birthYear` date NOT NULL,
10、 `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 (`c
11、ollegeID`) REFERENCES `college` (`collegeID`) ) ENGINE=InnoDB AUTO_INCREMENT=1004 DEFAULT CHARSET=utf8; —— -—-—-—--——————-————-————---— —- Records of teacher -— --———-———-----——--—---————-- INSERT INTO `teacher` VALUES (’1001’, '刘老师', '女', '1990-03-08', ’硕士', ’副教授', '2015—09—02’, ’2’); INSER
12、T 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 `student` ( `userID` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(200) NOT NULL,
13、 `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`) REFER
14、ENCES `college` (`collegeID`) ) ENGINE=InnoDB AUTO_INCREMENT=10007 DEFAULT CHARSET=utf8; —— ----——--———---—-—------———-— —- Records of student —- ——---—-——----——--—-———---—-- INSERT INTO `student` VALUES (’10001’, ’小黄', '男', '1996-09-02’, '2015—09—02', '1'); INSERT INTO `student` VALUES ('10
15、002’, '小米', '女', '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’,
16、'2’); INSERT INTO `student` VALUES ('10006’, '小拉’, ’女’, '1996—09-02', ’2015—09-02', '1’); 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`
17、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 CO
18、MMENT '开课时间', `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`),
19、 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 IN
20、TO `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’,
21、 '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 `selectedcourse` ( `courseID` int(11)
22、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
23、 (`studentID`) REFERENCES `student` (`userID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -— -————---——----——-—-—-——————— -— Records of selectedcourse —— -—--———————-—--——--——--———-- INSERT INTO `selectedcourse` VALUES ('2', ’10001’, ’12’); INSERT INTO `selectedcourse` VALUES ('1', ’10001', '95')
24、 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);
25、 2、管理员模块功能 管理员可对 教师信息、学生信息、课程信息 进行 增删改查 操作,管理员账户,可以重置非管理员账户的密码 · 课程管理:当课程已经有学生选课成功时,将不能删除 · 学生管理:添加学生信息时,其信息也会添加到登录表中 · 教师管理:同上 · 账户密码重置: · 修改密码: · · · 教师模块功能 教师登陆后,可以获取其,教授的课程列表,并可以给已经选择该课程的同学打分,无法对已经给完分的同学进行二次操作 · 我的课程 · 修改密码 · · · 学生模块功能 学生登录后,根据学生信息,获取其已经选择的课程,和已经修完的课程 · 所有课程: 在这里选修课程,选好后,将会自动跳转到已选课程选项 · 已选课程: 这里显示的是,还没修完的课程,也就是老师还没给成绩,由于还没有给成绩,所以这里可以进行退课操作 · 已修课程: 显示已经修完,老师已经给成绩的课程 · 修改密码: · · ·






