多对多关系 | 学习笔记

简介: 快速学习多对多关系。

开发者学堂课程【Java 面试疑难点串讲1:面试技巧及语言基础:多对多关系】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/24/detail/502


多对多关系

内容介绍

一、类与表的映射转换

一、类与表的映射转换

在整个 Java 基础部分里面对于数据表和简单 java 类的映射转换处理是最为核心的,因为在这一操作之中,强化了学员的几点要求:

引用传递的应用模式,让同学彻底明白,在 java 里面对于数据类型可以自定义

需要对数据类型划分非常清楚;

合成设计模式的应用,就相当于组合概念:

数组的理解以及应用,同时可以认真领悟到数组的问题。现实生活中的多对多的关系:

1.你去图书馆借书:你可以同时借多本书,一本书也可以同时被多个人借,一本书也可以同时被多个人借,相当于两个一对多关系,所以这个就可以变为多对多的应用。

2.你开车旅游:你这一生可能开50辆车,但是每辆车都有可能有其它人继续开;

那么在程序里面,对于多的概念就利用数组的方式来理解。那么以后的学习可能有链表,或者是类集开发框架帮助我们实现。

package cn.mldn.demo;
class Member { //
每一个member的对象就表示一个人的信息

private int mid ;
private String name ;
int age ;
private Book [] books ;//
一个人有多本
class Book {
每一个Book类的对象就表示一本书的信息
private String title ;
private double price ;
private Member[] members ;//
一本书可能有多个人看过
public class TestIODemo {
public static void main(String[] args) throws Exception {

注:只要是多就使用数组来描述,但是数组本身有如下的缺陷:

数组的长度是固定的,不可改变;

对于数据的删除处理非常的复杂;

package cn.mldn.demo;
class Member { //
每一个member的对象就表示一个人的信息

private int mid ;
private String name ;
int age ;
private Book [] books ;//
一个人有多本
class Book {
每一个Book类的对象就表示一本书的信息
private String title ;
private double price ;
private Member[] members ;//
一本书可能有多个人看过
public class TestIODemo {
public static void main(String[] args) throws Exception {

//[数据表实体表定义] 首先定义一个个对象的类的实体(对象),现在彼此之间没有任何的联系

Member memA = new Member(1,"老张",68) ;
Member memB = new Member(2,"
老李",18) ;
Member memC = new Member(3,"
老王",56) ;
Book b1 = new Book("Java
开发实战经典",79.8);
Book b2 = new Book("Java WEB
开发实战经典",69.8);
Book b3 = new Book("Oracle
开发实战经典",89.8);
//[
数据表关系表定义] ,数据的取出在以后的开发中会在[数据层]出现
//
根据多对多来定义关系,以后会有数据库动态对应,这个时候会有外键来约束
memA. setBooks(new Book[] {b1,b2} );
memB. setBooks(new Book[] {b2,b3} );
memC. setBooks(new Book[] {b1,b3} );
b1.setMembers(new Member[] {memA, memC});
b2.setMembers (new Member[]{memA, memB});
b3.setMembers(new Member[] {memB, memC});
//
就需要依据关系输出,就是显示层或控制层的要求

//输出一个人的所有读书的信息
for (int
х=0;х< memA.getBooks().length ; x++)

System.out.println(memn;

相关文章
|
4月前
|
JSON Java API
Java一分钟之-JPA实体关系:一对一, 一对多, 多对多
【6月更文挑战第14天】Java Persistence API (JPA) 的 ORM 规范简化了数据库操作,重点是实体关系映射。本文讨论了三种主要关系:一对一、一对多和多对多。对于每种关系,都指出了常见问题(如循环引用、懒加载异常)和避免策略(使用注解解决循环引用,明确级联操作边界等)。同时,提供了示例代码以展示如何在实践中设置这些关系。理解并妥善处理这些问题能提升开发效率和数据准确性。
71 1
|
10月前
|
SQL Java 数据库连接
MyBatis 的关联关系配置 一对多,一对一,多对多 关系的映射处理
MyBatis 的关联关系配置 一对多,一对一,多对多 关系的映射处理
114 0
|
12月前
|
SQL XML 数据格式
mybatis-关联关系&一对多关联&多对一关联&多对多
mybatis-关联关系&一对多关联&多对一关联&多对多
|
存储 Java 数据库
JPA实现多对多关系
JPA实现多对多关系
145 0
|
Java 数据库连接 数据库
多对一的处理 | 学习笔记
快速学习多对一的处理
多对一的处理 | 学习笔记
|
XML Java 数据库连接
一对多的处理| 学习笔记
快速学习一对多的处理。
|
存储 关系型数据库 数据库
[译] 如何用 Room 处理一对一,一对多,多对多关系?
[译] 如何用 Room 处理一对一,一对多,多对多关系?
[译] 如何用 Room 处理一对一,一对多,多对多关系?
|
开发者
多对多关系 | 学习笔记
快速学习多对多关系。
144 0
多对多关系 | 学习笔记
|
数据库 开发者
一对一关系 | 学习笔记
快速学习一对一关系。
131 0
一对一关系 | 学习笔记
|
数据库 开发者 Java
多对一的处理 | 学习笔记
快速学习多对一的处理。
107 0
多对一的处理 | 学习笔记