mybaits-plus?lambdaQuery()?和?lambdaUpdate()?常見的使用方法
mybaits-plus lambdaQuery() 和 lambdaUpdate() 比較常見的使用方法
簡介
MyBatis-Plus (opens new window)(簡稱 MP)是一個 MyBatis (opens new window)的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發(fā)、提高效率而生。
愿景
我們的愿景是成為 MyBatis 最好的搭檔,就像 魂斗羅 中的 1P、2P,基友搭配,效率翻倍。

- 無侵入:只做增強不做改變,引入它不會對現(xiàn)有工程產(chǎn)生影響,如絲般順滑
- 損耗?。簡蛹磿詣幼⑷牖?CURD,性能基本無損耗,直接面向對象操作
- 強大的 CRUD 操作:內(nèi)置通用 Mapper、通用 Service,僅僅通過少量配置即可實現(xiàn)單表大部分 CRUD 操作,更有強大的條件構造器,滿足各類使用需求
- 支持 Lambda 形式調(diào)用:通過 Lambda 表達式,方便的編寫各類查詢條件,無需再擔心字段寫錯支持主鍵自動生成:支持多達 4 種主鍵策略(內(nèi)含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解決主鍵問題
- 支持 ActiveRecord 模式:支持 ActiveRecord 形式調(diào)用,實體類只需繼承 Model 類即可進行強大的 CRUD 操作支持自定義全局通用操作:支持全局通用方法注入( Write once, use anywhere )
- 內(nèi)置代碼生成器:采用代碼或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 層代碼,支持模板引擎,更有超多自定義配置等您來使用
- 內(nèi)置分頁插件:基于 MyBatis 物理分頁,開發(fā)者無需關心具體操作,配置好插件之后,寫分頁等同于普通 List 查詢
- 分頁插件支持多種數(shù)據(jù)庫:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多種數(shù)據(jù)庫
- 內(nèi)置性能分析插件:可輸出 SQL 語句以及其執(zhí)行時間,建議開發(fā)測試時啟用該功能,能快速揪出慢查詢
- 內(nèi)置全局攔截插件:提供全表 delete 、 update 操作智能分析阻斷,也可自定義攔截規(guī)則,預防誤操作

前言
采用簡明的拉姆達表達式查詢數(shù)據(jù)
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
學生類
@Data
public class Student {
/*學號*/
private Integer sno;
/*名稱*/
private String name;
/*年齡*/
private int age;
/*班級名稱*/
private String className;
/*地址*/
private String address;
}mybaits-plus 簡單明了的,開發(fā)中比較常見的使用方式
根據(jù)id查詢
Student byId = studentService.getById(1);
帶條件的查詢 根據(jù)id查詢對象
Student one = studentService.lambdaQuery().eq(Student::getSno, 1).one();
查詢學生集合
List<Student> list = studentService.list();
帶條件的集合查詢 根據(jù)地址查詢所在上海的學生
List<Student> studentList = studentService.lambdaQuery().eq(Student::getAddress, "上海").list();
常見的分頁查詢
String name = "張三";
Integer current = 1;
Integer size = 10;
IPage<Student> studentIPage = studentService.page(new Page(current,size),new QueryWrapper<Student>()
.like(StrUtil.isNotBlank(name),"name",name));根據(jù)id刪除
studentService.removeById(1);
帶條件的刪除 刪除名稱為張三 年齡等于15的學生
studentService.lambdaUpdate().eq(Student::getName,"張三").eq(Student::getAge,15).remove();
修改 根據(jù)id修改
Student student = new Student();
student.setSno(1);
student.setAddress("上海");
student.setClassName("一年級一班");
studentService.updateById(student);修改 將學號為1的學生的地址修改為湖南
studentService.lambdaUpdate().set(Student::getAddress,"湖南").eq(Student::getSno,1).update();
< <= > >= <>
lt() le() gt() ge() ne()查詢年齡小于20的學生集合 其他以此內(nèi)推
List<Student> list1 = studentService.lambdaQuery().lt(Student::getAge, 20).list();
到此這篇關于mybaits-plus lambdaQuery() 和 lambdaUpdate() 比較常見的使用方法的文章就介紹到這了,更多相關mybaits-plus lambdaQuery() 和 lambdaUpdate()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot中的CompletableFuture類詳解
這篇文章主要介紹了SpringBoot中的CompletableFuture類詳解,在?Java8中,引入了CompletableFuture類,它提供了一種簡單而強大的方式來執(zhí)行異步任務,今天我們就來詳細解讀一下這個類,需要的朋友可以參考下2023-07-07
詳解Java中的do...while循環(huán)語句的使用方法
這篇文章主要介紹了Java中的do...while循環(huán)語句的使用方法,是Java入門學習中的基礎知識,需要的朋友可以參考下2015-10-10
在Spring Boot2中使用CompletableFuture的方法教程
這篇文章主要給大家介紹了關于在Spring Boot2中使用CompletableFuture的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧2019-01-01

