基于springboot框架开发的作业提交与批改系统

目前由于springboot框架开发是当前工作中开发框架的主流,所以在休息时间搭建和撸一个以springboot框架开发的一个系统,详情如下,希望大家能够见解和学习

springboot项目必须要有maven环境,这个是前提,项目所用到的jar包都用maven来管理。

怎么安装maven环境,可以参考以下:

http://www.myzshare.cn/resource_detail?id=126&res_name=%E5%82%BB%E7%93%9C%E5%BC%8F%E6%95%99%E4%BD%A0%E5%AE%89%E8%A3%85maven%E4%BB%A5%E5%8F%8AEclipse%E6%90%AD%E5%BB%BAmaven%E7%8E%AF%E5%A2%83

然后数据库是采用mysql数据库,

CREATE TABLE `job` (
  `ID` int(20) NOT NULL AUTO_INCREMENT COMMENT '自增长id',
  `teachclassid` int(20) NOT NULL COMMENT '所选课程,外键',
  `no` int(20) DEFAULT NULL COMMENT '序号,每个学生的实验报告文件名默认格式为学号项目实验X。X为序号',
  `title` varchar(20) DEFAULT NULL COMMENT '序号',
  `duedate` char(10) DEFAULT NULL COMMENT '报告提交截止日期',
  `type` int(20) DEFAULT NULL COMMENT '作业类型。1-实验;2-作业',
  `note` varchar(255) DEFAULT NULL,
  `createTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for score
-- ----------------------------
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score` (
  `ID` bigint(20) NOT NULL AUTO_INCREMENT,
  `jobID` int(20) NOT NULL COMMENT '外键',
  `studentno` varchar(20) NOT NULL,
  `score` int(5) DEFAULT NULL,
  `time` datetime DEFAULT NULL COMMENT '可以用来区分不同类型作业信息。如实验,可以填入提交时间',
  `note` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `uniq_job` (`jobID`,`studentno`),
  CONSTRAINT `fk_jobid` FOREIGN KEY (`jobID`) REFERENCES `job` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `studentno` varchar(20) NOT NULL,
  `name` varchar(8) DEFAULT NULL,
  `pinyin` varchar(20) DEFAULT NULL COMMENT '姓名的拼音,防止不认识生僻字',
  `password` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`studentno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for studentclass
-- ----------------------------
DROP TABLE IF EXISTS `studentclass`;
CREATE TABLE `studentclass` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `no` int(11) NOT NULL COMMENT '花名册上的序号,排序用',
  `classID` int(11) NOT NULL COMMENT '学生所在的教学班号,外键',
  `studentno` varchar(20) NOT NULL COMMENT '学号',
  `note` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `uk_studentclass_noid` (`studentno`,`classID`),
  KEY `fkey_classid` (`classID`),
  CONSTRAINT `fkey_classid` FOREIGN KEY (`classID`) REFERENCES `teachclass` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fkey_studentno` FOREIGN KEY (`studentno`) REFERENCES `student` (`studentno`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=874 DEFAULT CHARSET=utf8 COMMENT='学生和教学班号的连接表\r\n';

-- ----------------------------
-- Table structure for teachclass
-- ----------------------------
DROP TABLE IF EXISTS `teachclass`;
CREATE TABLE `teachclass` (
  `teachclassno` varchar(20) NOT NULL,
  `coursename` varchar(100) DEFAULT NULL,
  `coursesemester` char(11) NOT NULL,
  `credit` tinyint(4) DEFAULT NULL,
  `evalmethod` char(4) DEFAULT NULL,
  `teacherno` varchar(20) DEFAULT NULL,
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `uniclassno` (`teachclassno`,`coursesemester`),
  KEY `teacherid` (`teacherno`),
  CONSTRAINT `teacherid` FOREIGN KEY (`teacherno`) REFERENCES `teacher` (`teacherno`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
系统功能

分为教师,学生两类用户,每一角色具有不同的功能权限。
教师功能权限:信息管理,课程管理,以及作业管理三大类,每一个大类又有很多小类功能
学生功能权限:个人基本信息,课程管理,以及作业提交管理,每一个大类又有很多小类功能

猜你喜欢

转载自www.cnblogs.com/myzczx/p/12316027.html
今日推荐