MyBatis 是一個 Java 的 ORM 框架,ORM 的出現就是為了簡化開發。最初的開發方式是業務邏輯和數據庫查詢邏輯是分開的,或者在程序中編寫 sql 語句,或者調用 sql 存儲過程。這樣導致思維需要在語言邏輯和 sql 邏輯之間切換,導致開發效率低下。所以出現了一系列的 ORM 框架,ORM 框架將數據庫表和 Java 對象對應起來,當操作數據庫時,只需要操作對象的 Java 對象即可,例如設置幾個 and 條件,只需要設置幾個屬性即可。
為什么要有用 MyBatis Generator
雖然說有了 mybatis 框架,但是學習 mybatis 也需要學習成本,尤其是配置它需要的 XML 文件,那也是相當繁瑣,而且配置中出現錯誤,不容易定位。當出現莫名其妙的錯誤或者有大批量需要生成的對象時,時常會有種生無可戀的感覺在腦中徘徊。故此, MyBatis Generator 應運而生了。
它只需要簡單配置,即可完成大量的表到 MyBatis Java 對象的生成工作,不僅速度快,而且不會出錯,可讓開發人員真正的專注於業務邏輯的開發。
官方提供的 MyBatis Generator 功能比較簡單,對於稍微復雜但是開發中必然用到的分頁功能、批量插入功能等沒有實現,但已經有成熟的插件功能支持。
MyBatis Generator 生成的文件結構
生成的文件包含三類:
- Model 實體文件,一個數據庫表生成一個 Model 實體;
- ModelExample 文件,此文件和實體文件在同一目錄下,主要用於查詢條件構造;
- Mapper 接口文件,數據數操作方法都在此接口中定義;
- Mapper XML 配置文件;
在配置文件中配置好文件的生成路徑,並設置好對應的包名,即可生成對應的目錄結構和文件。我將生成目錄設置為 test 目錄,實體包名設置為 com.fengzheng.dao.entity ,接口包名設置為 com.fengzheng.dao.mapper ,然后生成的文件目錄結構如下圖所示:

mybatis 官方提供了 MyBatis Generator ,可以通過 xml 配置文件的方式使用,例如自己寫調用腳本,或者使用 mvn 插件的方式,其實實現起來還是很簡單的。
畢竟我們懶嘛
雖然簡單,但還是不夠簡單,懶嘛,這不就實現了一個更簡單的生成方式,通過 web 頁面的方式,填寫幾個關鍵的配置參數,選好要生成的數據庫表即可。
可配置的參數有如下幾個
targetRuntime :MyBatis3、MyBatis3Simple、Ibatis2Java2、Ibatis2Java5,默認為 MyBatis3
是否取消注釋:生成的文件中默認會有注釋內容,可以選擇是否取消。
targetProject(文件生成目錄):文件最后保存的目錄,選擇一個本地磁盤上的目錄位置。
實體類包名:實體對象的包名。
mapper.xml文件所在目錄:xml 文件所在的目錄
mapper接口類包名:mapper 接口類的包名
數據庫驅動:目前只支持 mysql
數據庫連接字符串、數據庫用戶、數據庫用戶密碼:數據庫相關配置
啟動方式
方式1:
直接下載源碼,然后運行 BuilderApplication 文件,或者使用 mvn 的 spring-boot:run 方式運行
方式2:
下載 kite-mybatis-builder.jar, 運行命令 java -jar -Dserver.port=[port] kite-mybatis-builder.jar 或者 java -jar kite-mybatis-builder.jar 默認在 9090 端口運行
使用方式
如果運行在默認的 9090 端口,打開瀏覽器訪問 http://localhost:9090 。
- 默認打開之后,點擊“新建項目”。

-
在彈出的項目配置界面,填寫上面提到的配置參數

-
選擇要生成的表,並可在后面配置實體名稱,默認規則是各單詞首字母大寫。

-
點擊生成按鈕,會根據生成結果提示成功或失敗。
-
生成過的項目會在首頁列出來,下次如果還需要生成此數據庫的表,可以在之前的項目中重新配置選擇即可。

默認已集成了分頁
例如:
支持分頁查詢
例如:
UserExample userExample = new UserExample();
userExample.setLimit(5);
userExample.setOffset(5);
userExample.setOrderByClause(" id desc ");
List<User> users = userMapper.selectByExample(userExample);
**歡迎關注我的微信公眾號

