教务查询系统

发布时间:2020-05-14 07:26:34   来源:文档文库   
字号:

简介

这个项目是一个简单的教务查询系统,该练手小项目希望能帮助到大家,熟悉SSM的整合开发

使用技术

IOC容器:Spring

Web框架:SpringMVC

ORM框架:Mybatis

安全框架:Shiro

数据源:C3P0

日志:log4j

前端框架:Bootstrap

快速上手

1、运行环境和所需工具

编译器:eclipse

项目构建工具:Maven

数据库:Mysql

JDK版本:jdk1.8

Tomcat版本:Tomcat8.x

初始化项目

在你的Mysql中,创建一个数据库名称为 examination_system 的数据库,并导入我提供的 .sql 文件,

进入src/main/resources修改mysql.properties配置文件,把数据库登录名和密码,改为你本地的

使用 eclipse 导入项目,选择Maven项目选项,一路点击next就行,导入项目后,如果src目录等,都没显示出来,别急先使用Maven构建该项目

eclipse 中,配置我们的 Tomcat, 然后把使用Maven构建好的项目添加到Tomcat中

运行 

登录账户

管理员账户:admin

老师账户:1001

学生账户:10001

密码均为:123

功能模块介绍

1、登录模块功能

使用Shiro权限管理框架,实现登录验证和登录信息的储存,根据不同的登录账户,分发权限角色,对不同页面url进行角色设置

用户、角色、菜单、用户与角色关系、角色与菜单的关系

用户:用户ID、用户名、密码、角色

角色:角色ID、角色名、权限

教师:ID、姓名、性别、出生日期、学历、职称、入职时间、院系

学生:ID、姓名、性别、出生日期、入学时间、院系

院系:ID、院系名称

课程: ID、课程名称、开课老师、开课时间、开课地点、学时、课程类型、所属院系、学分

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;

InnoDB MySQL的数据库引擎之一,是一套放在 MySQL 后台的完整数据库系统

AUTO_INCREMENT=1 自增键的起始序号为17

DEFAULT CHARSET=utf8 数据库默认编码为utf-8

-- ----------------------------

-- Records of userlogin

-- ----------------------------

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');

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;

-- ----------------------------

-- Records of role

-- ----------------------------

INSERT INTO `role` VALUES ('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,

`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;

-- ----------------------------

-- Records of teacher

-- ----------------------------

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 `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;

-- ----------------------------

-- Records of student

-- ----------------------------

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 `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 `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;

-- ----------------------------

-- Records of selectedcourse

-- ----------------------------

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);

2、管理员模块功能

管理员可对 教师信息、学生信息、课程信息 进行 增删改查 操作,管理员账户,可以重置非管理员账户的密码

课程管理:当课程已经有学生选课成功时,将不能删除

学生管理:添加学生信息时,其信息也会添加到登录表中

教师管理:同上

账户密码重置:

修改密码: 

教师模块功能

教师登陆后,可以获取其,教授的课程列表,并可以给已经选择该课程的同学打分,无法对已经给完分的同学进行二次操作

我的课程

修改密码 

学生模块功能

学生登录后,根据学生信息,获取其已经选择的课程,和已经修完的课程

所有课程: 在这里选修课程,选好后,将会自动跳转到已选课程选项

已选课程: 这里显示的是,还没修完的课程,也就是老师还没给成绩,由于还没有给成绩,所以这里可以进行退课操作

已修课程: 显示已经修完,老师已经给成绩的课程

修改密码: 

本文来源:https://www.2haoxitong.net/k/doc/0f4eba2d710abb68a98271fe910ef12d2bf9a94f.html

《教务查询系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式