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

定义学生类

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. CEF3中js调用delphi内部方法

    2015-01-20修改:以下方法不适合delphi7,在CEF3源码中限制了delphi_14 up,对于被我误导的朋友说声抱歉 在CEF1中JS调用delphi的方法已经贴过:http://www ...

  2. 快速安装laravel和依赖

    http://pkg.phpcomposer.com CMD敲命令: composer config -g repositories.packagist composer http://packagi ...

  3. sqlserver并发处理,锁和事务

      本文系转载,谢谢:http://www.cnblogs.com/cxd4321/archive/2008/12/10/1351792.html     另外这个也不错 http://www.cnb ...

  4. Integer-->String String-->Integer

    参考:http://blog.csdn.net/wangjolly/article/details/18354457 crane: String str="123";int a=0 ...

  5. 转:Ubuntu下用Sublime输入中文

    最近用上ubuntu跑theano,碰到的一个问题就是用sublime编辑代码的时候无法输入中文. 读代码经常要写注释不能用中文是在是麻烦. 曾经考虑过使用别的文本编辑器,但是sublime的用户界面 ...

  6. day9-IO心得

    Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SSH Tws ...

  7. redis rdb文件解析

    http://www.ttlsa.com/python/redis-rdb-tools-analysis-of-reids-dump-file-and-memory-usage/ redis-rdb- ...

  8. MongoDB出现CPU飚高,如何强制停止正在执行的操作

    如果发出了一个执行耗时很长的任务给MongoDB服务器,客户端强制终止会导致任务依然在服务器端执行. 这时MongoDB提供了查询和管理正在执行任务的方式. // db.currentOp() 获得当 ...

  9. 对称加密——对入参进行DES加密处理

    体验更优排版请移步原文:http://blog.kwin.wang/programming/symmetric-encryption-des-js-java.html 对称加密是最快速.最简单的一种加 ...

  10. Win7 Wifi 老断线

    在cmd命令窗口 netsh wlan set autoconfig enabled=no interface="无线网络连接" 此时你再来查看Win7系统任务栏处的网络菜单中查找 ...