Mybatis Plus 提供了强大的条件构造器,在不写sql映射文件的情况下,完成复杂的查询和修改数据的操作。

条件构造器用于生成sql的where条件,包括 QueryWrapper, UpdateWrapper, LambdaQueryWrapper, LambdaUpdateWrapper 四个类,其中后两个使用 Lambda 语法表达式,继承 AbstractLambdaWrapper 抽象类,AbstractLambdaWrapper 和 QueryWrapper, UpdateWrapper 继承 AbstractWrapper 抽象类,它们的父类为 Wrapper 抽象类。

使用起来很简单,

1、QueryWrapper 的使用,支持的方法可以从Mybatis Plus官网上查到。

@RequestMapping("getCount")
public int getCount(BookRequest request) {try {LambdaQueryWrapper<Book> query = new LambdaQueryWrapper<>();query.like(Book::getName, request.getName());return bookService.count(query);} catch (Exception e) {e.printStackTrace();return 0;}
}

查询name包含输入参数name的记录的条目数。

2、UpdateWrapper 的使用,用于生成update语句的where条件

@RequestMapping("editBook")
public boolean editBook(BookRequest request) {try {LambdaUpdateWrapper<Book> updateWrapper = new LambdaUpdateWrapper<>();updateWrapper.eq(Book::getId, 8).set(Book::getName, request.getName());return bookService.update(updateWrapper);} catch (Exception e) {e.printStackTrace();return false;}
}

将id=8的记录的name字段的值修改为接口传入的name参数的值

SpringBoot项目集成Mybatis Plus(五)条件构造器相关推荐

  1. SpringBoot项目集成Mybatis Plus(一)多数据源配置

    随着微服务使用越来越广泛,功能越做越大,需要支持的数据源也会越来越多,这时就可以在项目中集成Mybatis Plus,支持多数据源.Mybatis Plus在 Mybatis基础上进行了功能扩充,非常 ...

  2. SpringBoot项目集成Mybatis Plus(四)SQL映射文件

    实际使用中,都会用到自定义SQL查询语句,并且需要支持分页,因为之前在项目中配置了分页插件,所以用起来很简单. 例如,定义接口getList,接口参数为分页参数和查询条件, @RequestMappi ...

  3. SpringBoot项目集成Mybatis Plus(三)分页插件

    通过代码生成后,service继承了IService接口,这样可以直接使用Mybatis Plus封装的CRUD接口进行简单的增删改查. 例如简单的根据id查询: @RestController @R ...

  4. SpringBoot项目集成Mybatis Plus(二)代码生成器

    承接上文,接着开始最基础的代码开发,使用Mybatis Plus的代码生成器,简化流程式的开发工作. 1.引入maven依赖, <dependency><groupId>com ...

  5. MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis

    MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis 对MyBatis简单介绍 核心接口SqlSessionFactory 实战 1. Maven创建Java项目 2. ...

  6. springboot项目中mybatis实现数据的基本查询

    SpringBoot项目中mybatis实现数据的基本查询 本章内容概述: mapper 查询 xml 文件基本使用 通过 mybatis 实现一条数据的查询 1 用户数据表 2 用户信息对应的实体类 ...

  7. springboot项目整合mybatis

    SpringBoot项目整合mybatis 本章内容 使用 idea创建 SpringBoot项目 SpringBoot项目中配制 mybatis 框架 1 创建 SpringBoot项目 1.1 在 ...

  8. 一、springboot项目集成大众点评cat

    一. 什么是CAT 1.cat简介 Cat是基于Java开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务 • CAT作为服务端项目基础组件,提供了java, c/c++, node, p ...

  9. springboot项目集成dolphinscheduler调度器 实现datax数据同步任务

    Datax安装及基本使用请查看上一篇文章: 文章目录 Datax概述 1.概述 2.功能清单 3.==说明==:本项目只支持mysql及hbase之间的数据同步 代码模块 配置文件 pom.xml D ...

最新文章

  1. 解救被困传销女演员 助人减肥找老婆 蚂蚁森林又现神功能
  2. Unity插件之NGUI学习(4)—— 创建UI2DSprite动画
  3. Oracle Buffer-cache (数据高速缓存)作用概述
  4. json-server-----》基本使用
  5. 强化学习之基础入门_强化学习基础
  6. LOJ:相框(欧拉回路、分类讨论)
  7. 《量子计算机简史》--摘
  8. php可以用lucene吗,php – Lucene外国字符问题
  9. mysql limti_MYSQL分页 limint
  10. Nginx在Linux下的安装部署
  11. 操作系统之三种进程通信方式
  12. control reaches end of non-void function
  13. 提升自我的42个实用技巧
  14. pdf文档页码怎么添加
  15. 学习英文-学以致用【场景:程序员英文-开发环境】
  16. U盘内文件变为快捷方式怎么办?【一招解决】
  17. c、c++的getchar()函数
  18. C++:应用有限差分法求解随时间变化 平流方程 ut = - c * ux 在一个空间维度上,与 恒定速度,使用FTCS方法,正向时间差, 居中空间差(附完整源码)
  19. 象棋里的天地炮与重炮
  20. 给自己的博客园装饰萌萝莉(live2d)

热门文章

  1. php连接db2失败,PHP_浅谈DB2数据库故障处理及最佳实践,  当你在使用数据库时,可 - phpStudy...
  2. java切面获取异常日志_spring aop 配置切面,记录系统异常存入log日志
  3. Linux多线程同步
  4. C语言标准库中常见字符串处理函数
  5. python数据库sqlite3_Python 操作 SQLite 数据库
  6. Unity Shader:Waveform波形(2)-基本波形:正弦,三角,锯齿,直角以及其变种的实现方式
  7. 服务器监控工具_8款服务器和应用性能监控工具
  8. python35个关键字_Python关键字35个
  9. 新华三助力公安构建新IT“警盾”
  10. 去360总部参加网络信息安全会议经历