選單

mybatis中基於註解方式的多表查詢

開發前的準備

當前文章中所用到的表以及資料, 用到的mybatis配置檔案可以去這篇文章中檢視mybatis基於xml方式的多表查詢

唯一要注意的是我們在mybatis配置檔案中, 不再需要載入核心配置檔案, 而是要指明使用註解的包

使用者類

訂單類

角色類

註解關鍵字

@Insert 新增sql語句使用的註解

@Update 更新sql語句使用的註解

@Delete 刪除sql語句使用的註解

@Select 查詢sql語句使用的註解

@Result 當使用查詢語句時, 返回單條資料時的註解

@Results 當使用查詢語句時, 返回多條資料時的註解, 配合@Result一起使用

@One 在一對一的查詢結果時使用的註解, 例如: 一個訂單對應一個使用者

@Many 在一對多的查詢結果時使用的註解, 例如: 一個使用者可以有多個訂單

單表查詢

透過id查詢users表

透過使用者id查詢orders表

一對一查詢

一個訂單隻屬於一個使用者, 當我們查詢訂單資料時也需要查詢該訂單所對應的使用者資料

定義的介面

註解分析

首先, 透過@Select註解查詢出所有的訂單

然後, 透過@Results進行欄位和實體類屬性的對映

最後, 透過@One再去進行每個訂單中使用者的資料查詢

一對多查詢

定義的介面

註解分析

首先, 透過@Select註解查詢出所有的使用者

然後, 透過@Results進行欄位和實體類屬性的對映

最後, 透過@Many再去orders表中查詢使用者所有的訂單資料

多對多查詢

定義的介面

註解分析

首先, 透過@Select註解查詢出所有的使用者

然後, 透過@Results進行欄位和實體類屬性的對映

最後, 透過@Many再去roles表和user_role中間表中查詢使用者所有角色資訊