天天看點

第 3-4 課:MyBatis 逆向工程,簡化代碼開發

前言

通過前面課程的學習,我們了解到 MyBatis 是一個“半自動”的 ORM 架構,SQL 語句需要開發者自定義,這樣做的好處是代碼更加靈活,SQL 語句需要我們單獨在 Mapper.xml 中定義,與 Mapper 接口相對應,使用 MyBatis 進行開發的基本配置是:

  • 實體類
  • Mapper 接口
  • Mapper.xml

如下圖所示。

第 3-4 課:MyBatis 逆向工程,簡化代碼開發

這種方式的缺陷是如果參與業務的表太多,每張表的業務都需要自定義 SQL、建立實體類、Mapper 接口,難免會很麻煩。

而且除了定義 SQL,建立實體類和 Mapper 接口的工作難度并不大,沒有涉及太多的業務邏輯,屬于簡單的重複性工作,那麼作為一個主流的 ORM 架構,MyBaits 有沒有為我們提供解決方案呢?也就是說 MyBatis 能否自動根據資料表,幫我們生成實體類、Mapper 接口、Mapper.xml?

有的,通過我們本講所要學習的逆向工程,就可以完成上述需求。

首先來了解一下什麼是逆向工程。

逆向工程是 MyBatis 提供的一種自動化配置方案,針對資料表自動生成 MyBatis 所需要的各種資源,即實體類、Mapper 接口、Mapper.xml,但是逆向工程隻針對于單表使用,如果資料表之間有級聯,逆向工程無法自動生成級聯關系,也就是說下面這種結構,無法用逆向工程自動建立。

publ
           

繼續閱讀