mybatis中的高級查詢
Mybatis作為一個ORM框架,肯定是支持sql高級查詢的。
下面的一個案例來為大家詳細講解mybatis中的高級查詢。
案例說明:
此案例的業務關系是用戶,訂單,訂單詳情與商品之間的關系。
以訂單為主,一個訂單只能屬于一個人,訂單和人是一對一的關系。一個訂單可以有多個訂單詳情,訂單和訂單詳情是一對多的關系。一個訂單中可以有多個商品,一個商品也可以屬于多個訂單,訂單與商品是多對多的關系。
有如下需求:

解決方法:
1.先分析,一共有四個實體,所以肯定要建四張數據表和四個實體類。
一對一查詢,兩表聯合,以訂單表為主表,用戶表為從表進行笛卡爾積。在xxxMapper.xml文件中進行sql語句編寫,如下圖

用resultMap來定義返回值類型,首先要自定義resultMap標簽里的內容,如下圖:

在Order實體類中定義一個User屬性,生成自己的get/set方法,然后這樣就可以返回一個order類型,order包含user,這樣就可以同時查詢兩張表內容,返回到一個類。
測試代碼如下:

同理,一對多,多對多編程思想一致。由于本人能力有限所以只能理解到這里了。勿怪!!!
浙公網安備 33010602011771號