给定一张Meber和Product表,得到如下信息:

1.获取一个用户访问的所有商品信息

2.获取一个商品被哪些用户浏览过的信息

package Mapping_transformation;

class Meber
{
private String name ;
private int age ;
private Product products[] ; //一个人浏览多个商品
public Meber(String name , int age)
{
this.name = name ;
this.age = age ;
}
public void setProducts(Product products[] )
{
this.products = products ;
}
public Product[] getProducts()
{
return products ;
}
public String getInfo()
{
return "【用户信息】姓名:"+this.name + "年龄:"+this.age ;
}
}
class Product
{
private String name ;
private double price ;
private Meber mebers[] ; //一个商品被多个人浏览
public Product(String name ,double price)
{
this.name = name ;
this.price = price ;
}
public String getInfo()
{
return "【商品信息】名称:"+this.name + "价格:"+this.price ;
} public void setMebers(Meber[] mebers) {
this.mebers = mebers;
} public Meber[] getMebers() {
return mebers;
}
}
public class Many_to_many {
public static void main(String[] args) {
//设置关系
Meber meberA = new Meber("小兔子",35); //设置两个用户
Meber meberB = new Meber("小白喵",20);
Product proA = new Product("c++从入门到放弃",50.00); //设置三个商品
Product proB = new Product("java从入门到放弃",49.00);
Product proC = new Product("C语言从入门到放弃",46.00);
meberA.setProducts(new Product[]{proA,proB}); //设置用户浏览过的商品
meberB.setProducts(new Product[]{proA,proC});
proA.setMebers(new Meber[]{meberA});
proB.setMebers(new Meber[]{meberA,meberB}); //设置商品被浏览的用户
proC.setMebers(new Meber[]{meberB});
//获取数据
System.out.println("-----------------根据用户查看浏览商品信息--------------------");
System.out.println(meberA.getInfo());
for(int i = 0 ; i<meberA.getProducts().length ;i++)
{
System.out.println("\t|-"+meberA.getProducts()[i].getInfo());
}
System.out.println("-----------------根据被浏览的商品查看用户--------------------");
System.out.println(proA.getInfo());
for(int i = 0 ; i< proA.getMebers().length ; i++)
{
System.out.println("\t|-"+proA.getMebers()[i].getInfo());
} }
}
result:
-----------------根据用户查看浏览商品信息--------------------
【用户信息】姓名:小兔子年龄:35
|-【商品信息】名称:c++从入门到放弃价格:50.0
|-【商品信息】名称:java从入门到放弃价格:49.0
-----------------根据被浏览的商品查看用户--------------------
【商品信息】名称:c++从入门到放弃价格:50.0
|-【用户信息】姓名:小兔子年龄:35

数据表与简单java类——多对多映射的更多相关文章

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

    例如:给定一个分类表和子分类表 得到如下信息: 1.一个分类的完整信息: 2.根据分类获取其对应的子分类 package Mapping_transformation; class item { pr ...

  2. 数据表与简单java类映射转换

    简单的Java类的定义来源于数据表的结构, 例如:雇员信息表.部门信息表描述的就是雇员或部门的信息, 在实际的开发之中,数据表和简单java类之间的映射关系如下: 1. 数据实体表设计 = 类的定义: ...

  3. Java基础_0311: 数据表与简单Java类映射

    数据表与简单Java类映射 现在假设有如下的关系表,现在要求实现如下的数据关联操作: 一个部门有多个雇员: 一个雇员有一个或零个领导 代码实现 class Dept { private int dep ...

  4. 菜鸡的Java笔记 数据表与简单java类映射

    利用实际的数据表实现表与类的操作转换        简单java类是整个项目开发中的灵魂所在,它有自己严格的开发标准,而最为重要的是它需要于数据表是完全对应的        不过考虑到现在没有接触到过 ...

  5. java--分析简单java类与反射的联系

    分析简单java类与反射的联系 web对反射的操作支持 在JSP之中有一种技术--javaBean.而且在jsp里面也配套有相应的操作方式,javaBean的核心在于简单java类,于是下面演示此操作 ...

  6. Java基础_0305:简单Java类

    简单Java类 简单Java类是一种在实际开发之中使用最多的类的定义形式,在简单Java类中包含有类.对象.构造方法.private封装等核心概念的使用,而对于简单Java类首先给出如下的基本开发要求 ...

  7. JAVA基础学习之路(四)定义简单java类

    简单java类开发一般原则: 类名称必须有意义,再怎么说,要让人家看的明白吧 类之中所有属性必须使用private封装,并提供setter,getter方法 类之中可以有多个构造方法,但是必须保留有一 ...

  8. 进阶Java编程(10)反射与简单Java类

    1,传统属性自动赋值弊端 简单Java类主要由属性构成,并且提供有setter与getter类,同时简单Java类最大的特征就是通过对象保存相应的类属性的内容.但是如果使用传统的简单Java类开发,那 ...

  9. java反射(四)--反射与简单java类

    一.传统简单java类 简单的java类主要是由属性所组成,并且提供有相应的setter以及getter的处理方法,同时简单java类最大的特征就是通过对象保存相应的类的属性内容,但是如果使用传统的简 ...

随机推荐

  1. Linux下搭建.NetCore3.0环境及创建项目

    ================================================== ================================================= ...

  2. Mybaits 源码解析 (九)----- 全网最详细,没有之一:一级缓存和二级缓存源码分析

    像Mybatis.Hibernate这样的ORM框架,封装了JDBC的大部分操作,极大的简化了我们对数据库的操作. 在实际项目中,我们发现在一个事务中查询同样的语句两次的时候,第二次没有进行数据库查询 ...

  3. [2018-03-06] 基于Django的轻量级CMS Mezzanine搭建笔记

    一丶什么是Mezzanine? 它是基于django的内容管理平台(),组成简单,可扩展性和定制性强,特别是个小型的个人博客系统.它也提供了类似wordpress的管理页面.博客发布.图片展示等功能, ...

  4. 关于多线程start()方法原理解读

    1.为什么启动线程不用run()方法而是使用start()方法 run()方法只是一个类中的普通方法,调用run方法跟调用普通方法一样 而start()是创建线程等一系列工作,然后自己调用run里面的 ...

  5. Vue2.0项目使用bootstrap后提示Module parse failed: Unexpected character

    具体报错如下: 报错原因是: Vue2.0无法识别bootstrap.css中使用的字体,也就是上图中圈出来的地方. 解决方案: // 需要在webpack.config.js增加对不识别文件的处理 ...

  6. css3mask淡出文字

    css3mask淡出文字<pre>.p0_11wrap { width: 0.299rem; height: 7.68rem; overflow: hidden; background: ...

  7. 201871010114-李岩松《面向对象程序设计(java)》第四周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  8. 软件 ---- idea启动

    1.将配置转移到别的盘符,避免重做系统后,之前的配置就没了 找到安装的位置,默认安装的话地址一般是 C:\Program Files\JetBrains\IntelliJ IDEA 2017.2 ID ...

  9. windows 2008 服务器优化:停powershell,卸载不相干软件,开启防火墙

    windows 2008 作为 全录 的服务器,经常cpu达到100%,查看是powershell.exe占cpu有98%.影响 全录 软件进行电话录音.所以想禁止powershell.exe程序启动 ...

  10. HTTP的请求方式

    GET 请求获取 Request-URI 所标识的资源POST 在 Request-URI 所标识的资源后附加新的数据HEAD  请求获取由 Request-URI 所标识的资源的响应消息报头PUT ...