官網(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

impl層繼承ServiceImpl

mapper層繼承BaseMapper

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

Page為頁碼參數(shù)
QueryWrapper為條件構(gòu)造器 下面簡單說一下里面的方法

官方示例:

具體可跳轉(zhuǎn)到官方鏈接詳看:條件構(gòu)造器 | MyBatis-Plus
根據(jù)ID查詢單條數(shù)據(jù)

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

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)系我。