今天堆疊長給使用 MyBatis 的同學推薦一款神器:MyBatis-Plus,簡稱 MP,它是一個 MyBatis 的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生,
愿景就是成為 MyBatis 最好的搭檔,就像魂斗羅中的 1P、2P,基友搭配,效率翻倍,

官網地址:
https://mybatis.plus/
Github地址:
https://github.com/baomidou/mybatis-plus
現在已經超過 5K+ Star 了,,

特性
- 無侵入:只做增強不做改變,引入它不會對現有工程產生影響,如絲般順滑
- 損耗小:啟動即會自動注入基本 CURD,性能基本無損耗,直接面向物件操作
- 強大的 CRUD 操作:內置通用 Mapper、通用 Service,僅僅通過少量配置即可實作單表大部分 CRUD 操作,更有強大的條件構造器,滿足各類使用需求
- 支持 Lambda 形式呼叫:通過 Lambda 運算式,方便的撰寫各類查詢條件,無需再擔心欄位寫錯
- 支持多種資料庫:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多種資料庫
- 支持主鍵自動生成:支持多達 4 種主鍵策略(內含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解決主鍵問題
- 支持 XML 熱加載:Mapper 對應的 XML 支持熱加載,對于簡單的 CRUD 操作,甚至可以無 XML 啟動
- 支持 ActiveRecord 模式:支持 ActiveRecord 形式呼叫,物體類只需繼承 Model 類即可進行強大的 CRUD 操作
- 支持自定義全域通用操作:支持全域通用方法注入( Write once, use anywhere )
- 支持關鍵詞自動轉義:支持資料庫關鍵詞(order、key......)自動轉義,還可自定義關鍵詞
- 內置代碼生成器:采用代碼或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 層代碼,支持模板引擎,更有超多自定義配置等您來使用
- 內置分頁插件:基于 MyBatis 物理分頁,開發者無需關心具體操作,配置好插件之后,寫分頁等同于普通 List 查詢
- 內置性能分析插件:可輸出 Sql 陳述句以及其執行時間,建議開發測驗時啟用該功能,能快速揪出慢查詢
- 內置全域攔截插件:提供全表 delete 、 update 操作智能分析阻斷,也可自定義攔截規則,預防誤操作
- 內置 Sql 注入剝離器:支持 Sql 注入剝離,有效預防 Sql 注入攻擊
框架結構

快速開始
1、添加依賴
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.1</version>
</dependency>
2、繼承通用介面
public interface UserMapper extends BaseMapper<User> {
}
3、查詢
List<User> userList = userMapper.selectList(
new QueryWrapper<User>()
.lambda()
.ge(User::getAge, 18)
);
MyBatis-Plus將會生成以下查詢SQL:
SELECT * FROM user WHERE age >= 18
這只是一個簡單的示例,大家喜歡的可以去研究下,現在有用到的也可以留言分享下心得,
大家也可以關注微信公眾號:Java技術堆疊,堆疊長將繼續分享更多 Java 好玩的東西,在公眾號后臺回復:Java,可以獲取堆疊長已經整理好的歷史 Java 系列干貨文章,
覺得有用,轉發分享下朋友圈給更多的人看吧,另外,給個好看,謝謝老板~
推薦去我的博客閱讀更多:
1.Java JVM、集合、多執行緒、新特性系列教程
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
4.Java、后端、架構、阿里巴巴等大廠最新面試題
覺得不錯,別忘了點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/178293.html
標籤:Java
下一篇:Dubbo原始碼閱讀-服務匯出
