数据表与简单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类最大的特征就是通过对象保存相应的类的属性内容,但是如果使用传统的简 ...
随机推荐
- 设计模式C++描述----07.建造者(Builder)模式
一. 概述 Builder 模式要解决的问题是:当我们要创建的对象很复杂的时候(通常是由很多其他的对象组合而成),我们要要复杂对象的创建过程和这个对象的表示(展示)分离开 来,这样做的好处就是通过一步 ...
- leetcode系列---Two Sum C#code
/// <summary> /// 方法一:双循环 /// </summary> /// <param name="array"></pa ...
- ansible之roles
基于之前的博客介绍,我们已经了解了 tasks 和 handlers,那怎样组织 playbook 才是最好的方式呢?简单的回答就是:使用 roles ! Roles 基于一个已知的文件结构,去自动的 ...
- Linux上安装mysql,实现主从复制
MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的 ...
- 10、pytest -- skip和xfail标记
目录 1. 跳过测试用例的执行 1.1. @pytest.mark.skip装饰器 1.2. pytest.skip方法 1.3. @pytest.mark.skipif装饰器 1.4. pytest ...
- 一次flume exec source采集日志到kafka因为单条日志数据非常大同步失败的踩坑带来的思考
本次遇到的问题描述,日志采集同步时,当单条日志(日志文件中一行日志)超过2M大小,数据无法采集同步到kafka,分析后,共踩到如下几个坑.1.flume采集时,通过shell+EXEC(tail -F ...
- 域名解析 | A记录 ,CNAME,MX,NS 你懂了吗
域名解析 | A记录 ,CNAME,MX,NS 你懂了吗 域名解析 什么是域名解析?域名解析就是国际域名或者国内域名以及中文域名等域名申请后做的到IP地址的转换过程.IP地址是网路上标识您站点的数字地 ...
- wifi各协议最高速率
- PHP根据ip获取地理位置(通过高德地图接口)
PHP根据ip获取地理位置(通过高德地图接口)<pre>//restapi.amap.com/v3/ip?key=2004f145cf3a39a72e9ca70ca4b2a1dc& ...
- 010.Kubernetes二进制部署kube-controller-manager
一 部署高可用kube-controller-manager 1.1 高可用kube-controller-manager介绍 本实验部署一个三实例 kube-controller-manager 的 ...