mybatis和mybatis plus的區(qū)別 及mybatis plus的使用

官網(wǎng)地址:MyBatis-Plus

前言:

mybatis使用方式是直接在xml中通過SQL語句操作數(shù)據(jù)庫,包括簡單的CRUD操作都必須要寫SQL語句,而mybatis-plus的出現(xiàn)很好的解決了這個問題,很好的提高基于MyBatis 的項目開發(fā)效率。

特性:

無侵入:只做增強(qiáng)不做改變,引入它不會對現(xiàn)有工程產(chǎn)生影響,如絲般順滑

損耗小:啟動即會自動注入基本 CURD,性能基本無損耗,直接面向?qū)ο蟛僮?/p>

強(qiáng)大的 CRUD 操作:內(nèi)置通用 Mapper、通用 Service,僅僅通過少量配置即可實現(xiàn)單表大部分 CRUD 操作,更有強(qiáng)大的條件構(gòu)造器,滿足各類使用需求

支持 Lambda 形式調(diào)用:通過 Lambda 表達(dá)式,方便的編寫各類查詢條件,無需再擔(dān)心字段寫錯

支持主鍵自動生成:支持多達(dá) 4 種主鍵策略(內(nèi)含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解決主鍵問題

支持 ActiveRecord 模式:支持 ActiveRecord 形式調(diào)用,實體類只需繼承 Model 類即可進(jìn)行強(qiáng)大的 CRUD 操作

支持自定義全局通用操作:支持全局通用方法注入( Write once, use anywhere )

內(nèi)置代碼生成器:采用代碼或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 層代碼,支持模板引擎,更有超多自定義配置等您來使用

內(nèi)置分頁插件:基于 MyBatis 物理分頁,開發(fā)者無需關(guān)心具體操作,配置好插件之后,寫分頁等同于普通 List 查詢

分頁插件支持多種數(shù)據(jù)庫:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多種數(shù)據(jù)庫

內(nèi)置性能分析插件:可輸出 Sql 語句以及其執(zhí)行時間,建議開發(fā)測試時啟用該功能,能快速揪出慢查詢

內(nèi)置全局?jǐn)r截插件:提供全表 delete 、 update 操作智能分析阻斷,也可自定義攔截規(guī)則,預(yù)防誤操作


Spring Boot中快速使用

引入pom.xml依賴


<dependency>

    <groupId>com.baomidou</groupId>

    <artifactId>mybatis-plus-boot-starter</artifactId>

    <version>3.3.1.tmp</version>

</dependency>

配置

spring.datasource.url=jdbc:mysql://localhost:3306/jx-blog?useUnicode=true&characterEncoding=utf8

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

**#mybatis-plus**

mybatis-plus.mapper-locations=classpath:com/mht/springbootmybatisplus/mapper/xml/*.xml

mybatis-plus.type-aliases-package=com.abc.jx

mybatis-plus.configuration.map-underscore-to-camel-case: true

service層繼承IService

image

impl層繼承ServiceImpl

image

mapper層繼承BaseMapper

image

此時配置結(jié)束 下面開始使用

分頁

image

Page為頁碼參數(shù)

QueryWrapper為條件構(gòu)造器 下面簡單說一下里面的方法

image

官方示例:

image

具體可跳轉(zhuǎn)到官方鏈接詳看:條件構(gòu)造器 | MyBatis-Plus

根據(jù)ID查詢單條數(shù)據(jù)

image

插入一條數(shù)據(jù)

image

service方法中還提供了批量插入 批量更新等接口

// 插入一條記錄(選擇字段,策略插入)booleansave(T entity);

// 插入(批量)booleansaveBatch(Collection<T>entityList);

// 插入(批量)booleansaveBatch(Collection<T>entityList,intbatchSize);

具體請?zhí)D(zhuǎn)官方鏈接:CRUD 接口 | MyBatis-Plus

我是張韶杰,我的郵箱是zhangshaojie5218@163.com,如果你有問題或者建議請聯(lián)系我。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容