推薦一款 MyBatis 開發神器,爲簡化而生!

上個星期,師長髮布過一篇實名diss!說說爲何老外不肯意用MyBatis?你們紛紛表示怎麼讓MyBatis 更好用(在不換成jpa的前提下),那麼今天,師長給使用 MyBatis 的同窗推薦一款神器:MyBatis-Plus,簡稱 MP,它是一個 MyBatis 的加強工具,在 MyBatis 的基礎上只作加強不作改變,爲簡化開發、提升效率而生。git

願景就是成爲 MyBatis 最好的搭檔,男女搭配,幹活不累!github

官網地址:數據庫

https://mybatis.plus/bash

Github地址:mybatis

https://github.com/baomidou/mybatis-plusapp

如今已經超過 5K+ Star 了。。框架

特性

  • 無侵入:只作加強不作改變,引入它不會對現有工程產生影響,如絲般順滑分佈式

  • 損耗小:啓動即會自動注入基本 CURD,性能基本無損耗,直接面向對象操做工具

  • 強大的 CRUD 操做:內置通用 Mapper、通用 Service,僅僅經過少許配置便可實現單表大部分 CRUD 操做,更有強大的條件構造器性能

  • 支持 Lambda 形式調用:經過 Lambda 表達式,方便的編寫各種查詢條件,無需再擔憂字段寫錯

  • 支持多種數據庫:支持 MySQL、MariaDB、Oracle、DB二、H二、HSQL、SQLite、Postgre、SQLServer200五、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 注入攻擊

框架結構

快速開始

一、添加依賴

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.1.1</version>
</dependency>
複製代碼

二、繼承通用接口

public interface UserMapper extends BaseMapper<User> {

}
複製代碼

三、查詢

List<User> userList = userMapper.selectList(
        new QueryWrapper<User>()
                .lambda()
                .ge(User::getAge, 18)
);
複製代碼

MyBatis-Plus將會生成如下查詢SQL:

SELECT * FROM user WHERE age >= 18
複製代碼

這只是一個簡單的示例,你們喜歡的能夠去研究下,如今有用到的也能夠留言分享下心得。

相關文章
相關標籤/搜索