从零开始搭建一个JavaSSM作业管理系统(一)

拼搏现实的明天。 2022-11-30 12:46 236阅读 0赞

从零开始搭建一个JavaSSM作业管理系统系列

从零开始搭建一个JavaSSM作业管理系统(一)
从零开始搭建一个JavaSSM作业管理系统(二)
从零开始搭建一个JavaSSM作业管理系统(三)
从零开始搭建一个JavaSSM作业管理系统(四)

项目下载地址

说明!!!

1.本系列的文章仅展示搭建SSM作业管理系统的大致流程,文章中不会提供该项目的完整代码,如果需要完整代码可以在提供的链接中自行下载

2.本系列只展示作业管理系统一小部分功能实现(登录功能、管理员界面的学生信息管理功能),大部分功能都是信息的增删改查基本操作,重复度较多,大体步骤也都相同,故不做过多展示,请大家见谅

3.博主本人也算是spring框架的初学者,写此系列的目的旨在分享个人在学习SSM过程中的一些经验,如果大家在博客中发现代码或一些解释有误,还望多多指正

从零开始搭建一个JavaSSM作业管理系统(一)

    • 从零开始搭建一个JavaSSM作业管理系统系列
    • 摘要
    • 一、开发工具
    • 二、系统角色权限
      • 教师
      • 学生
      • 管理员
    • 三、数据库表结构设计
      • 第一步-确定要设计的实体类及对应的关系
      • 第二步-确定实体类对应的关系
      • 第三步-设计数据库表
      • 第四步-创建数据库及表
    • 四、搭建项目
    • 五、目录结构设计
    • 六、实体类设计
    • 七、补充
    • 八、总结

摘要

本文主要介绍搭建Java-SSM作业管理系统的第一个阶段

  1. 开发准备
  2. 项目设计

一、开发工具

  • Java代码相关:IDEA 2020
  • 数据库相关:Navicat,MySqlWorkBench
  • Web端调试:Chrome浏览器

二、系统角色权限

在搭建作业管理系统之前,首先要明确系统的主要角色
系统的三个角色为教师、学生、管理员
三个角色的主体权限如下(后续会加一些额外功能)

教师

  1. 修改个人信息(包括密码)
  2. 查看自己所教授的课程信息
  3. 查看选课学生信息
  4. 发布作业
  5. 修改已布置的作业
  6. 删除已布置的作业

学生

  1. 修改个人信息(包括密码)
  2. 查看自己所属的班级信息
  3. 查看自己所选的课程信息
  4. 查看教师所布置的作业信息
  5. 提交作业、修改已提交的作业

管理员

  1. 修改个人信息(包括密码)
  2. 教师信息的增删改查
  3. 学生信息的增删改查
  4. 班级信息的增删改查
  5. 课程信息的增删改查
  6. 选课信息的增删改查
  7. 作业信息的增删改查
  8. 删除作业信息、查看作业信息
  9. 删除学生提交作业信息、查看学生提交作业信息

三、数据库表结构设计

在明确了系统的主要角色及相对应的权限之后,下面我们来设计数据库的表结构

第一步-确定要设计的实体类及对应的关系

  • 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) 性别
email 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) 性别
email 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) 性别
email 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使用的是最新版本,界面是真的好看^ — ^)
打开IDEA
这里我们选择maven项目,在模板里面找到maven-atchetype-webapp
创建maven项目1
给项目命名,这里的GroupId一般都是跟公司域名相关,也可以默认org.example,我这里填了我们学校的域名
创建maven项目2
点击finish,然后便是漫长的等待时间了(我第一次创建这个工程的时候加载了有半小时,以后创建加载速度便会越来越快了)
创建maven项目3
创建maven项目4
在创建好项目之后,可以看到项目目录结构如下:

  • 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文件
webapp目录结构
接下来我们对tomcat进行配置,点击“添加配置”
点击添加配置
找到Tomcat Server-local
找到Tomcat Server-local
这里我们按默认配置就可以,如果没有安装tomcat需要先上官网下载tomcat,这里我使用的是最常用的tomcat8.5版本
配置如下
点击部署,添加工件,这里我们添加war exploader
添加工件
添加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 {

    1. //教师ID
    2. private Long teacherId;
    3. //密码
    4. private String password;
    5. //教师姓名
    6. private String teacherName;
    7. //头像路径
    8. private String profileImg;
    9. //性别
    10. private String gender;
    11. //邮箱
    12. private String email;
    13. //简介
    14. private String teacherDesc;
    15. //创建时间
    16. private Date createTime;
    17. //更新时间
    18. private Date lastEditTime;
    19. public Long getTeacherId() { return teacherId; }
    20. public void setTeacherId(Long teacherId) {
    21. this.teacherId = teacherId;
    22. }
    23. public String getPassword() {
    24. return password;
    25. }
    26. public void setPassword(String password) {
    27. this.password = password;
    28. }
    29. public String getTeacherName() {
    30. return teacherName;
    31. }
    32. public void setTeacherName(String teacherName) {
    33. this.teacherName = teacherName;
    34. }
    35. public String getProfileImg() {
    36. return profileImg;
    37. }
    38. public void setProfileImg(String profileImg) {
    39. this.profileImg = profileImg;
    40. }
    41. public String getGender() {
    42. return gender;
    43. }
    44. public void setGender(String gender) {
    45. this.gender = gender;
    46. }
    47. public String getEmail() {
    48. return email;
    49. }
    50. public void setEmail(String email) {
    51. this.email = email;
    52. }
    53. public String getTeacherDesc() {
    54. return teacherDesc;
    55. }
    56. public void setTeacherDesc(String teacherDesc) {
    57. this.teacherDesc = teacherDesc;
    58. }
    59. public Date getCreateTime() {
    60. return createTime;
    61. }
    62. public void setCreateTime(Date createTime) {
    63. this.createTime = createTime;
    64. }
    65. public Date getLastEditTime() {
    66. return lastEditTime;
    67. }
    68. public void setLastEditTime(Date lastEditTime) {
    69. this.lastEditTime = lastEditTime;
    70. }
  • 学生实体类

    public class Student {

    1. //学生ID
    2. private Long studentId;
    3. //密码
    4. private String password;
    5. //学生姓名
    6. private String studentName;
    7. //头像路径
    8. private String profileImg;
    9. //性别
    10. private String gender;
    11. //邮箱
    12. private String email;
    13. //简介
    14. private String studentDesc;
    15. //创建时间
    16. private Date createTime;
    17. //更新时间
    18. private Date lastEditTime;
    19. //班级,表示该学生属于哪个班级
    20. private Clazz clazz;
    21. public Long getStudentId() {
    22. return studentId;
    23. }
    24. public void setStudentId(Long studentId) {
    25. this.studentId = studentId;
    26. }
    27. public String getPassword() {
    28. return password;
    29. }
    30. public void setPassword(String password) {
    31. this.password = password;
    32. }
    33. public String getStudentName() {
    34. return studentName;
    35. }
    36. public void setStudentName(String studentName) {
    37. this.studentName = studentName;
    38. }
    39. public String getProfileImg() {
    40. return profileImg;
    41. }
    42. public void setProfileImg(String profileImg) {
    43. this.profileImg = profileImg;
    44. }
    45. public String getGender() {
    46. return gender;
    47. }
    48. public void setGender(String gender) {
    49. this.gender = gender;
    50. }
    51. public String getEmail() {
    52. return email;
    53. }
    54. public void setEmail(String email) {
    55. this.email = email;
    56. }
    57. public String getStudentDesc() {
    58. return studentDesc;
    59. }
    60. public void setStudentDesc(String studentDesc) {
    61. this.studentDesc = studentDesc;
    62. }
    63. public Date getCreateTime() {
    64. return createTime;
    65. }
    66. public void setCreateTime(Date createTime) {
    67. this.createTime = createTime;
    68. }
    69. public Date getLastEditTime() {
    70. return lastEditTime;
    71. }
    72. public void setLastEditTime(Date lastEditTime) {
    73. this.lastEditTime = lastEditTime;
    74. }
    75. public Clazz getClazz() {
    76. return clazz;
    77. }
    78. public void setClazz(Clazz clazz) {
    79. this.clazz = clazz;
    80. }

    }

  • 管理员实体类

    public class Admin {

    1. //管理员ID
    2. private Long adminId;
    3. //密码
    4. private String password;
    5. //管理员姓名
    6. private String adminName;
    7. //头像路径
    8. private String profileImg;
    9. //性别
    10. private String gender;
    11. //邮箱
    12. private String email;
    13. //简介
    14. private String adminDesc;
    15. //创建时间
    16. private Date createTime;
    17. //更新时间
    18. private Date lastEditTime;
    19. public Long getAdminId() {
    20. return adminId;
    21. }
    22. public void setAdminId(Long adminId) {
    23. this.adminId = adminId;
    24. }
    25. public String getPassword() {
    26. return password;
    27. }
    28. public void setPassword(String password) {
    29. this.password = password;
    30. }
    31. public String getAdminName() {
    32. return adminName;
    33. }
    34. public void setAdminName(String adminName) {
    35. this.adminName = adminName;
    36. }
    37. public String getProfileImg() {
    38. return profileImg;
    39. }
    40. public void setProfileImg(String profileImg) {
    41. this.profileImg = profileImg;
    42. }
    43. public String getGender() {
    44. return gender;
    45. }
    46. public void setGender(String gender) {
    47. this.gender = gender;
    48. }
    49. public String getEmail() {
    50. return email;
    51. }
    52. public void setEmail(String email) {
    53. this.email = email;
    54. }
    55. public String getAdminDesc() {
    56. return adminDesc;
    57. }
    58. public void setAdminDesc(String adminDesc) {
    59. this.adminDesc = adminDesc;
    60. }
    61. public Date getCreateTime() {
    62. return createTime;
    63. }
    64. public void setCreateTime(Date createTime) {
    65. this.createTime = createTime;
    66. }
    67. public Date getLastEditTime() {
    68. return lastEditTime;
    69. }
    70. public void setLastEditTime(Date lastEditTime) {
    71. this.lastEditTime = lastEditTime;
    72. }

    }

  • 班级实体类

    public class Clazz {

    1. //班级ID
    2. private Long clazzId;
    3. //班级人数
    4. private Integer clazzNumber;
    5. //简介
    6. private String clazzDesc;
    7. //创建时间
    8. private Date createTime;
    9. //更新时间
    10. private Date lastEditTime;
    11. public Long getClazzId() {
    12. return clazzId;
    13. }
    14. public void setClazzId(Long clazzId) {
    15. this.clazzId = clazzId;
    16. }
    17. public Integer getClazzNumber() {
    18. return clazzNumber;
    19. }
    20. public void setClazzNumber(Integer clazzNumber) {
    21. this.clazzNumber = clazzNumber;
    22. }
    23. public String getClazzDesc() {
    24. return clazzDesc;
    25. }
    26. public void setClazzDesc(String clazzDesc) {
    27. this.clazzDesc = clazzDesc;
    28. }
    29. public Date getCreateTime() {
    30. return createTime;
    31. }
    32. public void setCreateTime(Date createTime) {
    33. this.createTime = createTime;
    34. }
    35. public Date getLastEditTime() {
    36. return lastEditTime;
    37. }
    38. public void setLastEditTime(Date lastEditTime) {
    39. this.lastEditTime = lastEditTime;
    40. }

    }

  • 课程实体类

    public class Course {

    1. //课程ID
    2. private Long courseId;
    3. //课程名称
    4. private String courseName;
    5. //简介
    6. private String courseDesc;
    7. //课程容量
    8. private Integer courseSize;
    9. //创建时间
    10. private Date createTime;
    11. //更新时间
    12. private Date lastEditTime;
    13. //教师,表示该课程是哪个教师教授的
    14. private Teacher teacher;
    15. public Long getCourseId() {
    16. return courseId;
    17. }
    18. public void setCourseId(Long courseId) {
    19. this.courseId = courseId;
    20. }
    21. public String getCourseName() {
    22. return courseName;
    23. }
    24. public void setCourseName(String courseName) {
    25. this.courseName = courseName;
    26. }
    27. public String getCourseDesc() {
    28. return courseDesc;
    29. }
    30. public void setCourseDesc(String courseDesc) {
    31. this.courseDesc = courseDesc;
    32. }
    33. public Integer getCourseSize() {
    34. return courseSize;
    35. }
    36. public void setCourseSize(Integer courseSize) {
    37. this.courseSize = courseSize;
    38. }
    39. public Date getCreateTime() {
    40. return createTime;
    41. }
    42. public void setCreateTime(Date createTime) {
    43. this.createTime = createTime;
    44. }
    45. public Date getLastEditTime() {
    46. return lastEditTime;
    47. }
    48. public void setLastEditTime(Date lastEditTime) {
    49. this.lastEditTime = lastEditTime;
    50. }
    51. public Teacher getTeacher() { return teacher; }
    52. public void setTeacher(Teacher teacher) {
    53. this.teacher = teacher;
    54. }

    }

  • 学生选课实体类

    public class StudentCourse {

    1. //学生选课ID
    2. private Long studentCourseId;
    3. //创建时间
    4. private Date createTime;
    5. //更新时间
    6. private Date lastEditTime;
    7. //课程,表示选课的课程
    8. private Course course;
    9. //学生,表示选课的学生
    10. private Student student;
    11. public Long getStudentCourseId() {
    12. return studentCourseId;
    13. }
    14. public void setStudentCourseId(Long studentCourseId) {
    15. this.studentCourseId = studentCourseId;
    16. }
    17. public Date getCreateTime() {
    18. return createTime;
    19. }
    20. public void setCreateTime(Date createTime) {
    21. this.createTime = createTime;
    22. }
    23. public Date getLastEditTime() {
    24. return lastEditTime;
    25. }
    26. public void setLastEditTime(Date lastEditTime) {
    27. this.lastEditTime = lastEditTime;
    28. }
    29. public Course getCourse() {
    30. return course;
    31. }
    32. public void setCourse(Course course) {
    33. this.course = course;
    34. }
    35. public Student getStudent() {
    36. return student;
    37. }
    38. public void setStudent(Student student) {
    39. this.student = student;
    40. }

    }

  • 作业实体类

    public class Homework {

    1. //作业ID
    2. private Long homeworkId;
    3. //作业名称
    4. private String homeworkName;
    5. //作业详细要求
    6. private String homeworkDesc;
    7. //作业要求文件
    8. private String homeworkFile;
    9. //作业提交截至时间
    10. private String submitTime;
    11. //创建时间
    12. private Date createTime;
    13. //更新时间
    14. private Date lastEditTime;
    15. //课程,表示该作业属于哪个课程下
    16. private Course course;
    17. public Long getHomeworkId() {
    18. return homeworkId;
    19. }
    20. public void setHomeworkId(Long homeworkId) {
    21. this.homeworkId = homeworkId;
    22. }
    23. public String getHomeworkName() {
    24. return homeworkName;
    25. }
    26. public void setHomeworkName(String homeworkName) {
    27. this.homeworkName = homeworkName;
    28. }
    29. public String getHomeworkDesc() {
    30. return homeworkDesc;
    31. }
    32. public void setHomeworkDesc(String homeworkDesc) {
    33. this.homeworkDesc = homeworkDesc;
    34. }
    35. public String getHomeworkFile() {
    36. return homeworkFile;
    37. }
    38. public void setHomeworkFile(String homeworkFile) {
    39. this.homeworkFile = homeworkFile;
    40. }
    41. public String getSubmitTime() {
    42. return submitTime;
    43. }
    44. public void setSubmitTime(String submitTime) {
    45. this.submitTime = submitTime;
    46. }
    47. public Date getCreateTime() {
    48. return createTime;
    49. }
    50. public void setCreateTime(Date createTime) {
    51. this.createTime = createTime;
    52. }
    53. public Date getLastEditTime() {
    54. return lastEditTime;
    55. }
    56. public void setLastEditTime(Date lastEditTime) {
    57. this.lastEditTime = lastEditTime;
    58. }
    59. public Course getCourse() {
    60. return course;
    61. }
    62. public void setCourse(Course course) {
    63. this.course = course;
    64. }

    }

  • 学生作业实体类

    public class StudentHomework {

    1. //学生作业ID
    2. private Long studentHomeworkId;
    3. //作业提交内容
    4. private String submitContent;
    5. //作业提交文件
    6. private String submitFile;
    7. //创建时间
    8. private Date createTime;
    9. //更新时间
    10. private Date lastEditTime;
    11. //作业,表示学生提交的作业信息属于哪个作业类别下
    12. private Homework homework;
    13. //学生,表示提交的作业信息属于哪个学生
    14. private Student student;
    15. public Long getStudentHomeworkId() {
    16. return studentHomeworkId;
    17. }
    18. public void setStudentHomeworkId(Long studentHomeworkId) {
    19. this.studentHomeworkId = studentHomeworkId;
    20. }
    21. public String getSubmitContent() {
    22. return submitContent;
    23. }
    24. public void setSubmitContent(String submitContent) {
    25. this.submitContent = submitContent;
    26. }
    27. public String getSubmitFile() {
    28. return submitFile;
    29. }
    30. public void setSubmitFile(String submitFile) {
    31. this.submitFile = submitFile;
    32. }
    33. public Date getCreateTime() {
    34. return createTime;
    35. }
    36. public void setCreateTime(Date createTime) {
    37. this.createTime = createTime;
    38. }
    39. public Date getLastEditTime() {
    40. return lastEditTime;
    41. }
    42. public void setLastEditTime(Date lastEditTime) {
    43. this.lastEditTime = lastEditTime;
    44. }
    45. public Homework getHomework() {
    46. return homework;
    47. }
    48. public void setHomework(Homework homework) {
    49. this.homework = homework;
    50. }
    51. public Student getStudent() {
    52. return student;
    53. }
    54. public void setStudent(Student student) {
    55. this.student = student;
    56. }

    }

七、补充

我们在定义实体类时,当我们写好变量名之后,可以用IDEA自动生成getter和setter方法的

快捷键(Windows:Alt+Insert)
生成getter和setter方法

八、总结

至此,我们已经完成写一个JavaSSM作业管理系统的第一步——项目设计,下一步我们将完成框架搭建和配置验证部分

下一篇:从零开始写一个JavaSSM作业管理系统(二)

发表评论

表情:
评论列表 (有 0 条评论,236人围观)

还没有评论,来说两句吧...

相关阅读