【SSM-学生信息管理系统】 实体层开发

【SSM-学生信息管理系统】 实体层开发

本篇文章介绍了学生信息管理系统中实体层的开发。

一、页面需求分析

1.主页显示学生基本信息

  • 学号
  • 姓名
  • 性别
  • 班级
  • 手机号码

2. 点击学号,或按学号搜索,将进入学生选课信息界面

  • 课程号
  • 课程名
  • 成绩
  • 课程学分

二、数据表设计

1. 学生基本信息表,其建表语句如下:

CREATE TABLE student
(
    Sno BIGINT NOT NULL PRIMARY KEY COMMENT '学号',
    Sname CHAR(20) NOT NULL COMMENT '姓名',
    Ssex CHAR(1) COMMENT '性别',
    Sclass BIGINT NOT NULL COMMENT '班级',
    Sphone BIGINT COMMENT '号码'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

其表结构如下:
这里写图片描述
其中,学号Sno作为主键。

2.课程基本信息表,其建表语句如下:

CREATE TABLE course
(
    Cno BIGINT NOT NULL PRIMARY KEY COMMENT '课程号',
    Cname CHAR(30) NOT NULL COMMENT '课程名',
    Ccredit FLOAT NOT NULL COMMENT '学分'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

其表结构如下:
这里写图片描述
其中,课程号Cno作为主键。

3.学生选课信息表,其建表语句如下:

CREATE TABLE sc
(
    Sno BIGINT NOT NULL COMMENT '学号',
    Cno BIGINT NOT NULL COMMENT '课程号',
    Grade FLOAT COMMENT '成绩',
    PRIMARY KEY(Sno, Cno) COMMENT '联合主键',
    FOREIGN KEY(Sno) REFERENCES student(Sno) ON DELETE CASCADE,
    FOREIGN KEY(Cno) REFERENCES course(Cno)  ON DELETE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

其表结构如下
这里写图片描述

  • 学号Sno和课程号Cno作为联合主键
  • 且Sno是外键,被参照表是student表;Cno是外键,被参照表是course表
  • 参照表sc与被参照表course及student表有删除级联关系

三、实体类设计

1.学生基本信息类:Student.java

package com.manager.domain;

import org.springframework.stereotype.Component;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

@Component
public class Student {

    @NotNull
    @Min(value = 1, message = "学号格式输入有误!")
    private long id;

    @NotNull
    private String name;

    private char sex;

    @NotNull
    private String clazz;

    @Min(value = 1, message = "电话格式输入有误!")
    private long phone;

    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public char getSex() {
        return sex;
    }
    public void setSex(char sex) {
        this.sex = sex;
    }
    public String getClazz() {
        return clazz;
    }
    public void setClazz(String clazz) {
        this.clazz = clazz;
    }
    public long getPhone() {
        return phone;
    }
    public void setPhone(long phone) {
        this.phone = phone;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sex=" + sex +
                ", clazz='" + clazz + '\'' +
                ", phone=" + phone  + '}';
    }
}

2.课程信息类:Course.java

package com.manager.domain;

import org.springframework.stereotype.Component;

@Component
public class Course {
    private long id;
    private String name;
    private float credit;

    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public float getCredit() {
        return credit;
    }
    public void setCredit(float credit) {
        this.credit = credit;
    }

    @Override
    public String toString() {
        return "Course{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", credit=" + credit +
                '}';
    }
}

3.学生选课信息类:SC.java

package com.manager.domain;

import org.springframework.stereotype.Component;

import javax.validation.constraints.Min;

@Component
public class SC {

    private long Sno;

    private long Cno;

    @Min(0)
    private float Grade;

    public long getSno() {
        return Sno;
    }
    public void setSno(long sno) {
        Sno = sno;
    }
    public long getCno() {
        return Cno;
    }
    public void setCno(long cno) {
        Cno = cno;
    }
    public float getGrade() {
        return Grade;
    }
    public void setGrade(float grade) {
        Grade = grade;
    }

    @Override
    public String toString() {
        return "SC{" +
                "Sno=" + Sno +
                ", Cno=" + Cno +
                ", Grade=" + Grade +
                ", studentList=" + '}';
    }
}

4.学生选课信息页面VO类:StudentGrade.java

package com.manager.vo;

import com.manager.domain.Course;
import com.manager.domain.SC;
import org.springframework.stereotype.Component;

@Component
public class StudentGrade {

    private Course course;
    private SC sc;

    public Course getCourse() {
        return course;
    }
    public void setCourse(Course course) {
        this.course = course;
    }
    public SC getSc() {
        return sc;
    }
    public void setSc(SC sc) {
        this.sc = sc;
    }

    @Override
    public String toString() {
        return "SCInfo{" +
                "course=" + course +
                ", sc=" + sc +
                '}';
    }
}

猜你喜欢

转载自blog.csdn.net/cs_flower495/article/details/80791875