java中的多对多映射

来源:互联网 发布:叙永网络歌手大赛 编辑:程序博客网 时间:2024/05/20 13:09
package cn.mldn.orm;
//通过一个课程,找到参加该课程所有的学生
//通过一个学生,找到所有参加所有课程
public class ManyToManyDemo {


public static void main(String[] args) {
Student stu1=new Student(101, "张三", 18);
Student stu2=new Student(102, "李四", 19);
Student stu3=new Student(103, "王五", 20);
Course course1=new Course(1, "操作系统", 4);
Course course2=new Course(2, "微机原理", 4);
Course course3=new Course(3, "C++", 4);
//1:设置关系
StudentCourse studentCourse1=new StudentCourse(stu1,course1,70);
StudentCourse studentCourse2=new StudentCourse(stu2,course2,80);
StudentCourse studentCourse3=new StudentCourse(stu3,course3,90);
   stu1.setStudentCourses(new StudentCourse[]{studentCourse1, studentCourse2});
   stu2.setStudentCourses(new StudentCourse[]{studentCourse2, studentCourse3});
   stu3.setStudentCourses(new StudentCourse[]{studentCourse1,studentCourse2, studentCourse3});
   course1.setStudentCourses(new StudentCourse[]{studentCourse1, studentCourse2});
   course2.setStudentCourses(new StudentCourse[]{studentCourse1, studentCourse3});
   course3.setStudentCourses(new StudentCourse[]{studentCourse1,studentCourse2, studentCourse3});
   //2:获取关系
   System.out.println("-----------通过学生查询到课程信息,以及课表---------------");
   System.out.println(stu1);
   for(int x=0;x<stu1.getStudentCourses().length;x++)
        {
    System.out.println("\t--"+stu1.getStudentCourses()[x]);
        }
   System.out.println("-----------通过课程查询到课程信息,以及课表---------------");
   System.out.println(course2);
   for(int x=0;x<course2.getStudentCourses().length;x++)
        {
    System.out.println("\t--"+course2.getStudentCourses()[x]);
        }
   System.out.println("-----------根据课表查询到课表中的所有课程和学生信息---------------");
   System.out.println("\t--"+studentCourse3);
   System.out.println("\t学生信息--"+studentCourse3.getStudent());
   System.out.println("\t课程信息--"+studentCourse3.getCourse());
}


}
//学生表
class Student
{
private int stuid;
private String name;
private int age;
private StudentCourse[] studentCourses;//学生课程信息
public Student(int stuid, String name, int age) {
super();
this.stuid = stuid;
this.name = name;
this.age = age;
}
public StudentCourse[] getStudentCourses() {
return studentCourses;
}
public void setStudentCourses(StudentCourse[] studentCourses) {
this.studentCourses = studentCourses;
}
@Override
public String toString() {
return "Student [stuid=" + stuid + ", name=" + name + ", age=" + age + "]";
}
}
//课程表
class Course
{
private int cid;
private String name;
private int credit;//学分
private StudentCourse[] studentCourses;//学生课程信息
public Course(int cid, String name, int credit) {
super();
this.cid = cid;
this.name = name;
this.credit = credit;
}
public StudentCourse[] getStudentCourses() {
return studentCourses;
}
public void setStudentCourses(StudentCourse[] studentCourses) {
this.studentCourses = studentCourses;
}
@Override
public String toString() {
return "Course [cid=" + cid + ", name=" + name + ", credit=" + credit + "]";
}
}
//学生选课表
class StudentCourse
{
private Student student;
private Course course;
private double score;

public StudentCourse(Student student, Course course, double score) {
super();
this.student = student;
this.course = course;
this.score = score;
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
public Course getCourse() {
return course;
}
public void setCourse(Course course) {
this.course = course;
}
@Override
public String toString() {
return "StudentCourse [student=" + student + ", course=" + course + ", score=" + score + "]";
}


}
原创粉丝点击