MyBatis 中的級聯

2022-10-10 10:09:11 字數 380 閱讀 2160

mybatis 的級聯分為 3 種。

1、鑑別器(discriminator):它是根據某些條件決定採用具體實現類級聯的方案,比如體檢表要根據性別去區分。

2、一對一(association):比如學生證和學生就是一對一的級聯,雇員和工牌也是一種一對一的級聯。

3、一對多(collection):比如班主任和學生就是一種一對多的級聯。

mybatis沒有多對多的級聯,因為多對多級聯比較複雜,使用困難,而且可以通過兩個一對多級聯進行替代。

collection 元素,一對多級聯,其 select 元素指向 sql,將通過 column 制定的 sql 字段作為引數進行傳遞,然後將結果返回給角色的 resources 屬性。

mybatis 級聯儲存,級聯刪除

在hibernate中,我們可以使用級聯儲存,而ibatis並沒有提供該功能特性,此時我們需要自己儲存關聯的物件資料。定義乙個需求 在儲存訂單的時候,希望一起儲存其關聯的訂單項。其dao層可以定義如下兩個方法分別儲存訂單和關聯的訂單項 service層可以作如下呼叫 這裡涉及到的事務可以選擇用spr...

Mybatis 級聯刪除的實現

需求描述 今日需求是刪除資源時同時刪除與該資源繫結的角色資料,有兩張表,資源表 角色與資源繫結表,級聯刪除的時候有兩種方法 建立表時直接建立約束,當父表刪除資料時資料庫會自動去刪除子表中的資料,通過 實現級聯刪除,先刪除子表資料,然後刪除父表中的資料。通過資料庫實現 可以參考博文 這種方式假如我們要...

mybatis級聯 關聯 查詢

級聯 關聯 查詢,mybatis已經有了很好的支援,配置也相當簡單,示例 一種是一對一的,一種是一結多的,association用於前者,collection用於後者。下面都有相應配置。當然一對一的,可以直接配置在一起,就不用兩次查詢了。select from school where id sel...