2019 年度最受歡迎中國開源軟體[1] 正在火熱進行中,請為 Mybatis Plus 投上一票。
Mybatis Plus 簡介
MyBatis-Plus[2](簡稱 MP)是一個 MyBatis[3] 的增強工具,由苞米豆團隊開源并維護,在 MyBatis 的基礎上隻做增強不做改變,為簡化開發、提高效率而生。
我們的願景是成為 MyBatis 最好的搭檔,就像 魂鬥羅 中的 1P、2P,基友搭配,效率翻倍。
特性
- 無侵入:隻是對原生 Mybatis 進行了增強,而且完全相容原生Mybatis
- 損耗小:啟動便具有基本的 CURD,直接面向對象操作
- 強大的 CRUD 操作:内置通用 Mapper、通用 Service,僅僅通過少量配置即可實作單表的大部分操作,更有強大的條件Wrapper構造器,滿足各類使用需求
- 支援 Lambda 表達式:Wrapper 支援 Lambda 表達式,寫出更加優雅的構造條件。
- 多種主鍵生成方式:支援多達 4 種主鍵政策(支援雪花算法),可自由配置生成自定義主鍵,也可以自定義實作主鍵生成政策
- 支援 ActiveRecord 模式:支援 ActiveRecord 形式調用,實體類隻需繼承 Model 類即可進行強大的 CRUD 操作
- 支援自定義全局通用操作:支援全局通用方法注入
- 内置代碼生成器:可通過編碼配置代碼生成器或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 層代碼,支援模闆引擎,更有超多自定義配置等您來使用
- 内置分頁插件:基于 MyBatis 實體分頁,無需關心具體操作,配置好插件之後,近乎無感覺的分頁操作。
- 分頁插件支援多種資料庫:支援常見的多種資料庫,具體參見下表
- 内置性能分析插件:(開發功能)可輸出 Sql 語句以及其執行時間,能快速揪出慢查詢,為Sql優化提供參考依據。
- 内置全局攔截插件:提供全表 delete 、 update 操作智能分析阻斷,也可自定義攔截規則,預防誤操作
- 支援多租戶:通過多租戶插件可配置多租戶下的CRUD場景
支援資料庫
Mybatis Plus 支援常見的資料庫。清單如下:
- mysql 、 oracle 、mariadb 、 db2 、 postgresql 、 hsql 、 sqlite 、 h2 、 sqlserver
- 達夢資料庫 、 虛谷資料庫 、 人大金倉資料庫
架構結構
framework
和 Tkmybatis 相比較
我用過 Tkmybatis 編寫過一個項目,其查詢功能确實比 Mybatis Plus 強大,但是有一種 開發一時爽,維護火葬場 的感覺。生成的代碼閱讀性不太友好。而 Mybatis Plus 不但不存在這個問題并且有更多實際場景需要的常見功能。你可以根據實際需要選擇使用 Tkmybatis 和 Mybatis Plus
代碼托管
Gitee[4] | Github[5]
參考資料
[1]
2019 年度最受歡迎中國開源軟體: https://www.oschina.net/project/top_cn_2019?sort=1
[2]
MyBatis-Plus: https://github.com/baomidou/mybatis-plus
[3]
MyBatis: http://www.mybatis.org/mybatis-3/
[4]
Gitee: https://gitee.com/baomidou/mybatis-plus
[5]
Github: https://github.com/baomidou/mybatis-plus