開發者學堂課程【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
);