# :-: Mybatis-Plus
## 簡介
[MyBatis-Plus](https://github.com/baomidou/mybatis-plus)(簡稱 MP)是一個[MyBatis](http://www.mybatis.org/mybatis-3/)的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。
## 特性
* **無侵入**:只做增強不做改變,引入它不會對現有工程產生影響,如絲般順滑
* **損耗小**:啟動即會自動注入基本 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 注入攻擊
## 官方文檔
文檔直達:[https://mp.baomidou.com/guide/](https://mp.baomidou.com/guide/)
- 序
- 快速開始
- 環境要求
- 環境準備
- 工程導入
- 工程運行
- 技術基礎
- Java8
- Lambda
- Lambda 受檢異常處理
- Stream 簡介
- Stream API 一覽
- Stream API(上)
- Stream API(下)
- Optional 干掉空指針
- 函數式接口
- 新的日期 API
- Lombok
- SpringMVC
- Swagger
- Mybaties
- Mybaties-plus
- 開發初探
- 新建微服務工程
- 第一個API
- API鑒權
- API響應結果
- Redis 緩存
- 第一個CRUD
- 建表
- 建Entity
- 建Service和Mapper
- 新增API
- 修改API
- 刪除API
- 查詢API
- 單條查詢
- 多條查詢
- 分頁
- 微服務遠程調用
- 聲明式服務調用Feign
- 熔斷機制 Hystrix
- 開發進階