【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 +
                '}';
    }
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值