从零开始搭建一个JavaSSM作业管理系统系列
从零开始搭建一个JavaSSM作业管理系统(一)
从零开始搭建一个JavaSSM作业管理系统(二)
从零开始搭建一个JavaSSM作业管理系统(三)
从零开始搭建一个JavaSSM作业管理系统(四)
说明!!!
1.本系列的文章仅展示搭建SSM作业管理系统的大致流程,文章中不会提供该项目的完整代码,如果需要完整代码可以在提供的链接中自行下载
2.本系列只展示作业管理系统一小部分功能实现(登录功能、管理员界面的学生信息管理功能),大部分功能都是信息的增删改查基本操作,重复度较多,大体步骤也都相同,故不做过多展示,请大家见谅
3.博主本人也算是spring框架的初学者,写此系列的目的旨在分享个人在学习SSM过程中的一些经验,如果大家在博客中发现代码或一些解释有误,还望多多指正
从零开始搭建一个JavaSSM作业管理系统(一)
摘要
本文主要介绍搭建Java-SSM作业管理系统的第一个阶段
- 开发准备
- 项目设计
一、开发工具
- Java代码相关:IDEA 2020
- 数据库相关:Navicat,MySqlWorkBench
- Web端调试:Chrome浏览器
二、系统角色权限
在搭建作业管理系统之前,首先要明确系统的主要角色
系统的三个角色为教师、学生、管理员
三个角色的主体权限如下(后续会加一些额外功能)
教师
- 修改个人信息(包括密码)
- 查看自己所教授的课程信息
- 查看选课学生信息
- 发布作业
- 修改已布置的作业
- 删除已布置的作业
学生
- 修改个人信息(包括密码)
- 查看自己所属的班级信息
- 查看自己所选的课程信息
- 查看教师所布置的作业信息
- 提交作业、修改已提交的作业
管理员
- 修改个人信息(包括密码)
- 教师信息的增删改查
- 学生信息的增删改查
- 班级信息的增删改查
- 课程信息的增删改查
- 选课信息的增删改查
- 作业信息的增删改查
- 删除作业信息、查看作业信息
- 删除学生提交作业信息、查看学生提交作业信息
三、数据库表结构设计
在明确了系统的主要角色及相对应的权限之后,下面我们来设计数据库的表结构
第一步-确定要设计的实体类及对应的关系
- teacher-教师实体类
- student-学生实体类
- admin-管理员实体类
- clazz-班级实体类
- course-课程实体类
- student_course-学生选课实体类
- homework-作业实体类
- student_homework-学生作业实体类
第二步-确定实体类对应的关系
- teacher与student为多对多的关系,一个教师可以有多个学生,一个学生也可以有多个教师
- teacher与course为一对多的关系(简化一下),一个教师可以教授多门课程,但一个课程只能对应一个教师
- student与clazz为一对一的关系,一个学生只能属于一个班级
- student与course为一对多的关系,一个学生可以上多门课程
- course与homework为一对多的关系,一个课程可以有很多个作业
- homework与student_homework为一对多的关系,一个作业可以有很多个学生提交
第三步-设计数据库表
数据库名称-school
- teacher表
字段名 | 字段类型 | 字段描述 |
---|---|---|
teacher_id | INT(20) | 教师ID号 |
password | VARCHAR(128) | 密码 |
teacher_name | VARCHAR(32) | 教师姓名 |
profile_img | VARCHAR(1024) | 头像地址 |
gender | VARCHAR(4) | 性别 |
VARCHAR(1024) | 邮箱 | |
teacher_desc | VARCHAR(1024) | 简介 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
- student表
字段名 | 字段类型 | 字段描述 |
---|---|---|
student_id | INT(20) | 学生ID号 |
password | VARCHAR(128) | 密码 |
student_name | VARCHAR(32) | 学生姓名 |
profile_img | VARCHAR(1024) | 头像地址 |
gender | VARCHAR(4) | 性别 |
VARCHAR(1024) | 邮箱 | |
student_desc | VARCHAR(1024) | 简介 |
clazz_id | INT(20) | 班级ID号 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
- admin表
字段名 | 字段类型 | 字段描述 |
---|---|---|
admin_id | INT(20) | 管理员ID号 |
password | VARCHAR(128) | 密码 |
admin_name | VARCHAR(32) | 管理员姓名 |
profile_img | VARCHAR(1024) | 头像地址 |
gender | VARCHAR(4) | 性别 |
VARCHAR(1024) | 邮箱 | |
admin_desc | VARCHAR(1024) | 简介 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
- clazz表(相当于class,这里写clazz是防止与java的class类重名)
字段名 | 字段类型 | 字段描述 |
---|---|---|
clazz_id | INT(20) | 班级ID号 |
clazz_number | INT(4) | 班级人数 |
clazz_desc | VARCHAR(1024) | 简介 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
- course表
字段名 | 字段类型 | 字段描述 |
---|---|---|
course_id | INT(20) | 课程ID号 |
course_name | VARCHAR(128) | 课程名称 |
course_desc | VARCHAR(1024) | 简介 |
teacher_id | INT(20) | 教师ID号 |
course_number | INT(4) | 课程容量 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
- student_course表
字段名 | 字段类型 | 字段描述 |
---|---|---|
student_course_id | INT(20) | 学生选课ID号 |
course_id | INT(20) | 课程ID号 |
student_id | INT(20) | 学生ID号 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
- homework表
字段名 | 字段类型 | 字段描述 |
---|---|---|
homework_id | INT(20) | 作业ID号 |
homework_name | VARCHAR(128) | 作业名称 |
homework_desc | VARCHAR(1024) | 作业详细要求 |
course_id | INT(20) | 课程ID号 |
homework_file | VARCHAR(1024) | 作业要求文件 |
submit_time | VARCHAR(128) | 作业提交截至时间 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
- student_homework表
字段名 | 字段类型 | 字段描述 |
---|---|---|
student_homework_id | INT(20) | 学生作业ID号 |
homework_id | INT(20) | 作业ID号 |
student_id | INT(20) | 学生ID号 |
submit_content | VARCHAR(1024) | 作业提交内容 |
submit_file | VARCHAR(1024) | 作业提交文件 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
第四步-创建数据库及表
在设计完数据库的表结构之后,下面便要开始创建数据库操作了
这里我使用的数据库是MySql 8,采用的可视化工具是Navicat
详细创建过程不一一列出了,这里贴上每个表的建表语句
- teacher表
-- ----------------------------
-- Table structure for teacher
-- ----------------------------
DROP TABLE IF EXISTS `teacher`;
CREATE TABLE `teacher` (
`teacher_id` int(20) NOT NULL COMMENT '教师ID号',
`password` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '12345' COMMENT '密码',
`teacher_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '教师姓名',
`profile_img` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像地址',
`gender` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '性别',
`email` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
`teacher_desc` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '简介',
`create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间',
`last_edit_time` datetime(6) NULL DEFAULT NULL COMMENT '最近修改时间',
PRIMARY KEY (`teacher_id`) USING BTREE,
UNIQUE INDEX `key_teacher_id`(`teacher_id`) USING BTREE COMMENT '设置teacher_id为唯一标识'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
- student表
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`student_id` int(20) NOT NULL COMMENT '学生ID号',
`password` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '12345' COMMENT '密码',
`student_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学生姓名',
`profile_img` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像地址',
`gender` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '性别',
`email` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
`student_desc` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '简介',
`clazz_id` int(20) NULL DEFAULT NULL COMMENT '班级ID号',
`create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间',
`last_edit_time` datetime(6) NULL DEFAULT NULL COMMENT '最近一次修改时间',
PRIMARY KEY (`student_id`) USING BTREE,
UNIQUE INDEX `key_student_id`(`student_id`) USING BTREE COMMENT '设置student_id为唯一标识',
INDEX `fk_student_clazz`(`clazz_id`) USING BTREE,
CONSTRAINT `fk_student_clazz` FOREIGN KEY (`clazz_id`) REFERENCES `clazz` (`clazz_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
- admin表
-- ----------------------------
-- Table structure for admin
-- ----------------------------
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin` (
`admin_id` int(20) NOT NULL COMMENT '管理员ID号',
`password` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '12345' COMMENT '密码',
`admin_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '管理员姓名',
`profile_img` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像地址',
`gender` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '性别',
`email` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
`admin_desc` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '简介',
`create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间',
`last_edit_time` datetime(6) NULL DEFAULT NULL COMMENT '最近一次修改时间',
PRIMARY KEY (`admin_id`) USING BTREE,
UNIQUE INDEX `key_admin`(`admin_id`) USING BTREE COMMENT '设置admin_id为唯一标识'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
- clazz表
-- ----------------------------
-- Table structure for clazz
-- ----------------------------
DROP TABLE IF EXISTS `clazz`;
CREATE TABLE `clazz` (
`clazz_id` int(20) NOT NULL COMMENT '班级ID号',
`clazz_number` int(4) NOT NULL COMMENT '班级人数',
`clazz_desc` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '简介',
`create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间',
`last_edit_time` datetime(6) NULL DEFAULT NULL COMMENT '最近修改时间',
PRIMARY KEY (`clazz_id`) USING BTREE,
UNIQUE INDEX `key_clazz_id`(`clazz_id`) USING BTREE COMMENT '设置clazz_id为唯一标识'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
- course表
-- ----------------------------
-- Table structure for course
-- ----------------------------
DROP TABLE IF EXISTS `course`;
CREATE TABLE `course` (
`course_id` int(20) NOT NULL AUTO_INCREMENT COMMENT '课程ID号',
`course_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '课程名称',
`course_desc` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '简介',
`teacher_id` int(20) NOT NULL COMMENT '教师ID号',
`course_number` int(4) NOT NULL COMMENT '课程容量',
`create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间',
`last_edit_time` datetime(6) NULL DEFAULT NULL COMMENT '最近修改时间',
PRIMARY KEY (`course_id`) USING BTREE,
INDEX `fk_teacher_id`(`teacher_id`) USING BTREE,
CONSTRAINT `fk_teacher_id` FOREIGN KEY (`teacher_id`) REFERENCES `teacher` (`teacher_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
- student_course表
-- ----------------------------
-- Table structure for student_course
-- ----------------------------
DROP TABLE IF EXISTS `student_course`;
CREATE TABLE `student_course` (
`student_course_id` int(20) NOT NULL AUTO_INCREMENT COMMENT '学生选课ID号',
`course_id` int(20) NOT NULL COMMENT '课程ID号',
`student_id` int(20) NOT NULL COMMENT '学生ID号',
`create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间',
`last_edit_time` datetime(6) NULL DEFAULT NULL COMMENT '最近修改时间',
PRIMARY KEY (`student_course_id`) USING BTREE,
INDEX `fk_stc_course`(`course_id`) USING BTREE,
INDEX `fk_stc_student`(`student_id`) USING BTREE,
CONSTRAINT `fk_stc_course` FOREIGN KEY (`course_id`) REFERENCES `course` (`course_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_stc_student` FOREIGN KEY (`student_id`) REFERENCES `student` (`student_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
- homework表
-- ----------------------------
-- Table structure for homework
-- ----------------------------
DROP TABLE IF EXISTS `homework`;
CREATE TABLE `homework` (
`homework_id` int(20) NOT NULL AUTO_INCREMENT COMMENT '作业ID号',
`homework_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '作业名称',
`homework_desc` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '作业详细要求',
`course_id` int(20) NOT NULL COMMENT '课程ID号',
`homework_file` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '作业要求文件',
`submit_time` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '作业提交截至时间',
`create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间',
`last_edit_time` datetime(6) NULL DEFAULT NULL COMMENT '最近修改时间',
PRIMARY KEY (`homework_id`) USING BTREE,
INDEX `fk_homework_course`(`course_id`) USING BTREE,
CONSTRAINT `fk_homework_course` FOREIGN KEY (`course_id`) REFERENCES `course` (`course_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
- student_homework表
-- ----------------------------
-- Table structure for student_homework
-- ----------------------------
DROP TABLE IF EXISTS `student_homework`;
CREATE TABLE `student_homework` (
`student_homework_id` int(20) NOT NULL AUTO_INCREMENT COMMENT '学生作业ID号',
`homework_id` int(20) NOT NULL COMMENT '作业ID号',
`student_id` int(20) NOT NULL COMMENT '学生ID号',
`submit_content` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '作业提交内容',
`submit_file` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '作业提交文件',
`create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间',
`last_edit_time` datetime(6) NULL DEFAULT NULL COMMENT '最近修改时间',
PRIMARY KEY (`student_homework_id`) USING BTREE,
INDEX `fk_sth_student`(`student_id`) USING BTREE,
INDEX `fk_sth_homework`(`homework_id`) USING BTREE,
CONSTRAINT `fk_sth_homework` FOREIGN KEY (`homework_id`) REFERENCES `homework` (`homework_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_sth_student` FOREIGN KEY (`student_id`) REFERENCES `student` (`student_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
四、搭建项目
打开IDEA,新建项目(此处我的IDEA使用的是最新版本,界面是真的好看^ — ^)
这里我们选择maven项目,在模板里面找到maven-atchetype-webapp
给项目命名,这里的GroupId一般都是跟公司域名相关,也可以默认org.example,我这里填了我们学校的域名
点击finish,然后便是漫长的等待时间了(我第一次创建这个工程的时候加载了有半小时,以后创建加载速度便会越来越快了)
在创建好项目之后,可以看到项目目录结构如下:
- pom.xml文件是maven的相关配置文件,我们可以将各种包的依赖写在这里面,maven便会自动下载相关依赖
- webapp目录是存放静态资源(包括html、jsp、js、css等文件)和web.xml文件
- web.xml文件主要对tomcat进行相关的配置
我们在src/main目录下再建立两个文件夹:java、resources - src/main/java-存放java代码
- src/main/resources-存放配置文件
再在src目录下建立test/java-该目录主要进行UT(Unit Test,即单元测试)测试
建好后的目录结构如下
注意,如果建好之后的目录颜色或图标跟上图不同,需要手动将该目录修改为相应的根目录
下面我们在src/main/webapp目录下新建一个resources文件夹,用来存放静态资源(js、css),再在src/main/webapp/WEB-INF目录下新建一个html文件夹,用来存放html文件
接下来我们对tomcat进行配置,点击“添加配置”
找到Tomcat Server-local
这里我们按默认配置就可以,如果没有安装tomcat需要先上官网下载tomcat,这里我使用的是最常用的tomcat8.5版本
点击部署,添加工件,这里我们添加war exploader
将配置名称删掉
配置好之后点击‘应用’并返回,可以看到我们的运行程序多出来一个
运行tomcat,跳出的界面如下,可以看到,tomcat是可以正常启动的
至此我们已经完成了项目的搭建,下面我们将对目录结构进行设计
五、目录结构设计
在项目的src/main/java目录下建立pakage如下
- dao-SpringMVC的数据持久层
- service-SpringMVC的业务处理层
- web-SpringMVC的控制层
- dto-SpringMVC的数据传输对象层
- entity-存放相关实体类
- enums-存放实体类相关的枚举类
- exception-存放实体类相关的异常类
- util-存放用到的相关工具类
六、实体类设计
下面我们在entity包里面设计实体类,实体类里面字段的命名应遵循驼峰命名格式,并与数据库的字段名相对应,并为类里面每个变量生成getter和setter方法
- 教师实体类
public class Teacher {
//教师ID
private Long teacherId;
//密码
private String password;
//教师姓名
private String teacherName;
//头像路径
private String profileImg;
//性别
private String gender;
//邮箱
private String email;
//简介
private String teacherDesc;
//创建时间
private Date createTime;
//更新时间
private Date lastEditTime;
public Long getTeacherId() { return teacherId; }
public void setTeacherId(Long teacherId) {
this.teacherId = teacherId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getTeacherName() {
return teacherName;
}
public void setTeacherName(String teacherName) {
this.teacherName = teacherName;
}
public String getProfileImg() {
return profileImg;
}
public void setProfileImg(String profileImg) {
this.profileImg = profileImg;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTeacherDesc() {
return teacherDesc;
}
public void setTeacherDesc(String teacherDesc) {
this.teacherDesc = teacherDesc;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
- 学生实体类
public class Student {
//学生ID
private Long studentId;
//密码
private String password;
//学生姓名
private String studentName;
//头像路径
private String profileImg;
//性别
private String gender;
//邮箱
private String email;
//简介
private String studentDesc;
//创建时间
private Date createTime;
//更新时间
private Date lastEditTime;
//班级,表示该学生属于哪个班级
private Clazz clazz;
public Long getStudentId() {
return studentId;
}
public void setStudentId(Long studentId) {
this.studentId = studentId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getProfileImg() {
return profileImg;
}
public void setProfileImg(String profileImg) {
this.profileImg = profileImg;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getStudentDesc() {
return studentDesc;
}
public void setStudentDesc(String studentDesc) {
this.studentDesc = studentDesc;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
public Clazz getClazz() {
return clazz;
}
public void setClazz(Clazz clazz) {
this.clazz = clazz;
}
}
- 管理员实体类
public class Admin {
//管理员ID
private Long adminId;
//密码
private String password;
//管理员姓名
private String adminName;
//头像路径
private String profileImg;
//性别
private String gender;
//邮箱
private String email;
//简介
private String adminDesc;
//创建时间
private Date createTime;
//更新时间
private Date lastEditTime;
public Long getAdminId() {
return adminId;
}
public void setAdminId(Long adminId) {
this.adminId = adminId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAdminName() {
return adminName;
}
public void setAdminName(String adminName) {
this.adminName = adminName;
}
public String getProfileImg() {
return profileImg;
}
public void setProfileImg(String profileImg) {
this.profileImg = profileImg;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAdminDesc() {
return adminDesc;
}
public void setAdminDesc(String adminDesc) {
this.adminDesc = adminDesc;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
}
- 班级实体类
public class Clazz {
//班级ID
private Long clazzId;
//班级人数
private Integer clazzNumber;
//简介
private String clazzDesc;
//创建时间
private Date createTime;
//更新时间
private Date lastEditTime;
public Long getClazzId() {
return clazzId;
}
public void setClazzId(Long clazzId) {
this.clazzId = clazzId;
}
public Integer getClazzNumber() {
return clazzNumber;
}
public void setClazzNumber(Integer clazzNumber) {
this.clazzNumber = clazzNumber;
}
public String getClazzDesc() {
return clazzDesc;
}
public void setClazzDesc(String clazzDesc) {
this.clazzDesc = clazzDesc;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
}
- 课程实体类
public class Course {
//课程ID
private Long courseId;
//课程名称
private String courseName;
//简介
private String courseDesc;
//课程容量
private Integer courseSize;
//创建时间
private Date createTime;
//更新时间
private Date lastEditTime;
//教师,表示该课程是哪个教师教授的
private Teacher teacher;
public Long getCourseId() {
return courseId;
}
public void setCourseId(Long courseId) {
this.courseId = courseId;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
public String getCourseDesc() {
return courseDesc;
}
public void setCourseDesc(String courseDesc) {
this.courseDesc = courseDesc;
}
public Integer getCourseSize() {
return courseSize;
}
public void setCourseSize(Integer courseSize) {
this.courseSize = courseSize;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
public Teacher getTeacher() { return teacher; }
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
}
- 学生选课实体类
public class StudentCourse {
//学生选课ID
private Long studentCourseId;
//创建时间
private Date createTime;
//更新时间
private Date lastEditTime;
//课程,表示选课的课程
private Course course;
//学生,表示选课的学生
private Student student;
public Long getStudentCourseId() {
return studentCourseId;
}
public void setStudentCourseId(Long studentCourseId) {
this.studentCourseId = studentCourseId;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
public Course getCourse() {
return course;
}
public void setCourse(Course course) {
this.course = course;
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
}
- 作业实体类
public class Homework {
//作业ID
private Long homeworkId;
//作业名称
private String homeworkName;
//作业详细要求
private String homeworkDesc;
//作业要求文件
private String homeworkFile;
//作业提交截至时间
private String submitTime;
//创建时间
private Date createTime;
//更新时间
private Date lastEditTime;
//课程,表示该作业属于哪个课程下
private Course course;
public Long getHomeworkId() {
return homeworkId;
}
public void setHomeworkId(Long homeworkId) {
this.homeworkId = homeworkId;
}
public String getHomeworkName() {
return homeworkName;
}
public void setHomeworkName(String homeworkName) {
this.homeworkName = homeworkName;
}
public String getHomeworkDesc() {
return homeworkDesc;
}
public void setHomeworkDesc(String homeworkDesc) {
this.homeworkDesc = homeworkDesc;
}
public String getHomeworkFile() {
return homeworkFile;
}
public void setHomeworkFile(String homeworkFile) {
this.homeworkFile = homeworkFile;
}
public String getSubmitTime() {
return submitTime;
}
public void setSubmitTime(String submitTime) {
this.submitTime = submitTime;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
public Course getCourse() {
return course;
}
public void setCourse(Course course) {
this.course = course;
}
}
- 学生作业实体类
public class StudentHomework {
//学生作业ID
private Long studentHomeworkId;
//作业提交内容
private String submitContent;
//作业提交文件
private String submitFile;
//创建时间
private Date createTime;
//更新时间
private Date lastEditTime;
//作业,表示学生提交的作业信息属于哪个作业类别下
private Homework homework;
//学生,表示提交的作业信息属于哪个学生
private Student student;
public Long getStudentHomeworkId() {
return studentHomeworkId;
}
public void setStudentHomeworkId(Long studentHomeworkId) {
this.studentHomeworkId = studentHomeworkId;
}
public String getSubmitContent() {
return submitContent;
}
public void setSubmitContent(String submitContent) {
this.submitContent = submitContent;
}
public String getSubmitFile() {
return submitFile;
}
public void setSubmitFile(String submitFile) {
this.submitFile = submitFile;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
public Homework getHomework() {
return homework;
}
public void setHomework(Homework homework) {
this.homework = homework;
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
}
七、补充
我们在定义实体类时,当我们写好变量名之后,可以用IDEA自动生成getter和setter方法的
快捷键(Windows:Alt+Insert)
八、总结
至此,我们已经完成写一个JavaSSM作业管理系统的第一步——项目设计,下一步我们将完成框架搭建和配置验证部分