数据表与简单java类——多对多映射
给定一张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类——多对多映射的更多相关文章
- 数据表与简单java类——一对多映射
例如:给定一个分类表和子分类表 得到如下信息: 1.一个分类的完整信息: 2.根据分类获取其对应的子分类 package Mapping_transformation; class item { pr ...
- 数据表与简单java类映射转换
简单的Java类的定义来源于数据表的结构, 例如:雇员信息表.部门信息表描述的就是雇员或部门的信息, 在实际的开发之中,数据表和简单java类之间的映射关系如下: 1. 数据实体表设计 = 类的定义: ...
- Java基础_0311: 数据表与简单Java类映射
数据表与简单Java类映射 现在假设有如下的关系表,现在要求实现如下的数据关联操作: 一个部门有多个雇员: 一个雇员有一个或零个领导 代码实现 class Dept { private int dep ...
- 菜鸡的Java笔记 数据表与简单java类映射
利用实际的数据表实现表与类的操作转换 简单java类是整个项目开发中的灵魂所在,它有自己严格的开发标准,而最为重要的是它需要于数据表是完全对应的 不过考虑到现在没有接触到过 ...
- java--分析简单java类与反射的联系
分析简单java类与反射的联系 web对反射的操作支持 在JSP之中有一种技术--javaBean.而且在jsp里面也配套有相应的操作方式,javaBean的核心在于简单java类,于是下面演示此操作 ...
- Java基础_0305:简单Java类
简单Java类 简单Java类是一种在实际开发之中使用最多的类的定义形式,在简单Java类中包含有类.对象.构造方法.private封装等核心概念的使用,而对于简单Java类首先给出如下的基本开发要求 ...
- JAVA基础学习之路(四)定义简单java类
简单java类开发一般原则: 类名称必须有意义,再怎么说,要让人家看的明白吧 类之中所有属性必须使用private封装,并提供setter,getter方法 类之中可以有多个构造方法,但是必须保留有一 ...
- 进阶Java编程(10)反射与简单Java类
1,传统属性自动赋值弊端 简单Java类主要由属性构成,并且提供有setter与getter类,同时简单Java类最大的特征就是通过对象保存相应的类属性的内容.但是如果使用传统的简单Java类开发,那 ...
- java反射(四)--反射与简单java类
一.传统简单java类 简单的java类主要是由属性所组成,并且提供有相应的setter以及getter的处理方法,同时简单java类最大的特征就是通过对象保存相应的类的属性内容,但是如果使用传统的简 ...
随机推荐
- Java HashMap底层实现原理源码分析Jdk8
在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依 ...
- 设计模式C++描述----12.享元(Flyweight)模式
一. 概述 在面向对象系统的设计何实现中,创建对象是最为常见的操作. 这里面就有一个问题:如果一个应用程序使用了太多的对象,就会造成很大的存储开销.特别是对于大量轻量级(细粒度)的对象,比如在文档编辑 ...
- MongoDB分页查询优化方法
在网上看到很多关于MongoDB分页查询优化的文章,如出一辙.笔者自己实际生产中也遇到此问题,所以看了很多篇文章,这里分享一篇简明扼要的文章分享给大家,希望对大家在使用MongoDB时有所帮助. 凡事 ...
- swift 实现 iOS摇一摇
本博客包含了如何实现iOS摇一摇全步骤,包括了完整的代码. 先附上demo地址https://github.com/Liuyubao/LYBShake ,支持swift3.0+. 一.导包 项目主要使 ...
- 使用pyquery
简单举例 from pyquery import PyQuery as pq html = ''' <div> <ul> <li class="item-O&q ...
- python3 自己写的一个小算法(比对中文文本相似度)
函数使用说明: 函数的三个参数分别是“匹配语句”,“匹配语料”,“相关度”: 匹配语句,和匹配预料中的语句匹配的语句,必须为字符串: 匹配语料,被匹配语句来匹配的语句列表,必须为列表: 相关度,函数只 ...
- 学习笔记15_ASP母版页
*网页母版页设计通用样式#header:{height:100px;width:1000px}#leftDiv:{float:left;width:200px}#mainDiv:{margin-lef ...
- [2018-03-08] virtualenv
virtualenv 的有点 1.使不同应用开发环境独立 2.环境升级不影响其他应用,也不会影响全局的python环境 3.它可以防止系统中出现包管理混乱和版本的冲突 新建 virtualenv ...
- 「考试」$5T$
啊因为最近题实在是好啊,只能四五篇四五篇写了. T1. 括号序列的确简单. 当我们维护左右$cnt$后. 到一个左括号的地方的话. 答案就是:$$\sum\limits_{i=1}^{min(lc,r ...
- python之装饰器的两种写法
上一篇文章介绍了 装饰器的概念.现在讲一下在程序中怎么来写装饰器.上代码: def X(fun): def Y(b): print(b) fun() return Y def test(): prin ...