多對多映射
四張表關聯查詢。
業務需求:查詢使用者的資訊,以及它所購買商品的訂單資訊、商品資訊
業務分析:通過查詢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:
輸出結果日志:
總結:
根據上面業務分析,分析表跟表之間的對應關系。一對多關系,就使用collection,一對一關系,就使用association。一層層嵌套,association放在最底層。
實際上多對多的查詢是把所有關聯的表的資訊都查詢出來,放到pojo中的對應的List或者某個類中。是以隻查詢使用者資訊表User,就會得到要查詢的資訊,因為這個使用者裡包含了那些資訊。