天天看點

Mybatis之進階映射【多對多映射】

多對多映射

四張表關聯查詢。

業務需求:查詢使用者的資訊,以及它所購買商品的訂單資訊、商品資訊

業務分析:通過查詢user表,查找到orders,通過orders表查找到對應的orderdetail,通過orderdetail表查到對應items。

user-使用者表 、orders-訂單表 、orderdetail-訂單明細表 、items-商品表

1.建立實體類pojo

a.建立使用者表的pojo:一個使用者有多個訂單,需要在使用者表中加入訂單清單

b.建立訂單表的pojo:一個訂單有多個訂單明細,訂單中需要建立訂單的詳細資訊清單

c.建立訂單明細表的pojo:一個訂單明細對應一個商品資訊,需要建立商品資訊屬性

d.建立商品表的pojo:

2.編寫Mapper.xml:

3.編寫Mapper.java:

輸出結果日志:

Mybatis之進階映射【多對多映射】

總結:

根據上面業務分析,分析表跟表之間的對應關系。一對多關系,就使用collection,一對一關系,就使用association。一層層嵌套,association放在最底層。

實際上多對多的查詢是把所有關聯的表的資訊都查詢出來,放到pojo中的對應的List或者某個類中。是以隻查詢使用者資訊表User,就會得到要查詢的資訊,因為這個使用者裡包含了那些資訊。