多对对的映射,可以用学生和课程进行演示。一个学生可以选择多个课程,一个课程又对应了多个学生

定义学生类

class Stu{
private String name;
private String num;
private Course[] course;
public Stu() {}
public Stu(String name,String num) {
this.name = name;
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public Course[] getCourse() {
return course;
}
public void setCourse(Course[] course) {
this.course = course;
}
public String getInfo() {
return "姓名 :"+name+" 学号 :"+num;
}
}

定义课程 类

class Course{
private String name;
private Stu[] stu;
public Course() {}
public Course(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Stu[] getStu() {
return stu;
}
public void setStu(Stu[] stu) {
this.stu = stu;
}
public String getInfo() {
return "课程 :"+name;
} }

在main方法测试

首先定义Stu和Course对象,分别有三个

        Stu s1 = new Stu("张三","001");
Stu s2 = new Stu("李四","002");
Stu s3 = new Stu("王五","003"); Course c1 = new Course("Java");
Course c2 = new Course("php");
Course c3 = new Course("Python");

设置彼此的关系,每个对象都有多个对象对应

        //设置学生和课程的关系
s1.setCourse(new Course[]{c1,c2});
s2.setCourse(new Course[]{c1,c3});
s3.setCourse(new Course[]{c2,c3}); //相应的课程设置与学生的关系
c1.setStu(new Stu[]{s1,s2});
c2.setStu(new Stu[]{s1,s3});
c3.setStu(new Stu[]{s2,s3});

根据学生,获取课程信息

        System.out.println(s1.getInfo()+" 同学选择的课程有");
for(int i=0; i<s1.getCourse().length; i++) {
System.out.println(s1.getCourse()[i].getInfo());
}

运行

根据课程,获取学生信息

        System.out.println(c2.getInfo()+" 选择这门课程的学生信息");
for(int i=0; i<c2.getStu().length; i++) {
System.out.println(c2.getStu()[i].getInfo());
}

运行

Java中多对多映射关系的更多相关文章

  1. hibernate笔记--单(双)向的多对多映射关系

    在讲单向的多对多的映射关系的案例时,我们假设我们有两张表,一张角色表Role,一张权限表Function,我们知道一个角色或者说一个用户,可能有多个操作权限,而一种操作权限同时被多个用户所拥有,假如我 ...

  2. hibernate(四) 双向多对多映射关系

    序言 莫名长了几颗痘,真TM疼,可能是现在运动太少了,天天对着电脑,决定了,今天下午花两小时去跑步了, 现在继上一章节的一对多的映射关系讲解后,今天来讲讲多对多的映射关系把,明白了一对多,多对多个人感 ...

  3. Hibernate学习(四)———— 双向多对多映射关系

    一.小疑问的解答 问题一:到这里,有很多学习者会感到困惑,因为他不知道使用hibernate是不是需要自己去创建表,还是hibernate全自动,如果需要自己创建表,那么主外键这种设置也是自己设置吗? ...

  4. Hibernate中的一对一映射关系

    Hibernate中的一对一映射关系有两种实现方法(单向一对一,和双向一对一)(一对一关系:例如一个department只能有一个manager) 单向和双向有什么区别呢??例如若是单向一对一,比如在 ...

  5. java框架篇---hibernate(多对多)映射关系

    以学生和老师为例的来讲解多对多映射. 实体类: Student package cn.itcast.g_hbm_manyToMany; import java.util.HashSet; import ...

  6. Hibernate的多对多映射关系

    example: 老师(teacher)和学生(Student)就是一个多对多的关系吧?老师可以有多个学生,学生也可以由多个老师,那在Hibernate中多对多是怎样实现的呢?? 在Hibernate ...

  7. Hibernate(五)之一对多&多对一映射关系

    既然我们讲到了一对多和多对一关系,必然要提到多表设计的问题.在开发中,前期需要进行需求分析,希求分析提供E-R图,根据ER图编写表结构. 我们知道表之间关系存在三种: 一对多&多对一:1表(主 ...

  8. flask中 多对多的关系 主从表之间的的增删改查

    # 角色表模型class Role(db.Model): r_id = db.Column(db.Integer, primary_key=True) r_name = db.Column(db.St ...

  9. 数据表与简单java类——多对多映射

    给定一张Meber和Product表,得到如下信息: 1.获取一个用户访问的所有商品信息 2.获取一个商品被哪些用户浏览过的信息 package Mapping_transformation; cla ...

随机推荐

  1. JS-用法

    JavaScript 用法 HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 <body> 和 & ...

  2. Julia - 整数型

    所有的基础数据类型通过灵活用户可扩展的类型提升系统 ,不需显式类型转换,就可以互相运算 整数的默认类型,取决于系统是 32 位还是 64 位 julia> typeof(1) # 32 位系统 ...

  3. 【转】C#命名规范

    原文地址:http://www.jb51.net/article/57163.htm 本文详细汇总了C#常用的命名规则.分享给大家供大家参考.具体如下: Pascal 规则每个单词开头的字母大写(如 ...

  4. CSS 引用外部字体

    @font-face { font-family: W5; src: url('../font/W5.TTF'); } .wallect .wal_body .textBox{ font-family ...

  5. Coursera连接不上(视频无法播放),修改hosts文件

    视频问题 如果Coursera网站连接不上,或者视频加载不出来.可以通过如下方式进行配置:   一.找到hosts文件 Windows 系统, hosts文件位于: [C:\Windows\Syste ...

  6. Android 定时重复启动弹出窗口。

    本来想着用handlerpostdelay就可以实现,没想到演示后关闭应用居然报错. 后来想到是没有了activity. ((Activity)context).isFinishing() 可以传入c ...

  7. 【BZOJ1013】球形空间产生器sphere

    高斯消元模板题 #include <cstdio> #include <cstring> #include <algorithm> #include <ios ...

  8. 653. Two Sum IV - Input is a BST 二叉树版本

    [抄题]: Given a Binary Search Tree and a target number, return true if there exist two elements in the ...

  9. 监控web接口和添加触发器

    1: 以监控百度接口为例子: www.baidu.com1: 打开 2: 过滤ss0.bdstatic.com 3: 选择两个url进行监控 https://ss0.bdstatic.com/5aV1 ...

  10. 解决ImportError: libmysqlclient_r.so.16: cannot open shared object file-乾颐堂

    在开发一个python项目是,需要用到mysql,但是, 安装完mysql-python后import加载模块提示以下错误: ImportError: libmysqlclient_r.so.16: ...