【Mybatis-Plus】05 条件构造器 ConditionConstructor
理解:
原来叫条件构造器,我一直以为都是封装条件对象
即SQL的查询条件,不过都一样。
其目的是因为的实际的需求灵活多变,而我们的SQL的筛选条件也需要跟着变化,
但是有一些固定的字段固定的方式可以保证不变化,那么方法的参数的确定尤为重要
从单一的一个ID,一个String的属性,到一个类型的对象,最后到规范的接口
就是逐渐把可能的情况不断的抽象化,更具有泛用意义
Wrapper的常用方法:
eq方法,名称是equals的缩写,两个参数,一个是数据库表字段的名称,一个是表字段值
userQueryWrapper.eq("user_id", 9); // WHERE user_id = ?
重载方法首参数多加了一个布尔类型,名称condition,MybatisPlus是希望在这个条件成立的情况下装填筛选条件
如果这个条件是必选的也必将会调用的,那么就是使用上面的那种。
boolean condition的意义在于动态SQL,如果给了就执行,没有就不执行
一般在业务逻辑层编写的时候结合IF & ELSE 应地制宜
userQueryWrapper.eq(false,"user_id", 9); // 这个false需要一个变量来灵活操控
不等于:
userQueryWrapper.ne("columnX","valueX"); // columnX != valueX || columnX <> valueX
between方法,即SQL的 WHERE xx字段 BETWEEN 值1 AND 值2
注意,值1一定是小于值2的
userQueryWrapper.between("xxx表字段", 10, 65); // WHERE xx字段 BETWEEN 值1 AND 值2
大于小于、大于等于、小于等于
userQueryWrapper.gt("xx字段", 20); // WHERE columnX > valueX
userQueryWrapper.lt("xx字段", 20); // WHERE columnX < valueX userQueryWrapper.ge("xx字段", 20); // WHERE columnX >= valueX
userQueryWrapper.le("xx字段", 20); // WHERE columnX <= valueX
按字段排序:
可以是默认和N个字段,默认排序就表示ASC顺序从小到大
也可以指定排序方式,和自定的字段:
众多条件需要进行连接,无非就是AND & OR两种
一般只需要连续引用就表示这些一连串的条件是AND拼接,其中一个条件是可选的,就使用or方法处理
// WHERE xx字段 <= 20 AND columnX > valueX OR xxx表字段 BETWEEN 10 AND 65
userQueryWrapper.le("xx字段", 20).gt("columnX","valueX").or().between("xxx表字段", 10, 65);
如果我们需要更加明确的表示:则使用And方法进行条件嵌套处理:
参考地址:
https://blog.csdn.net/m0_37034294/article/details/82917234
【Mybatis-Plus】05 条件构造器 ConditionConstructor的更多相关文章
- mybatis plus的条件构造器
我们在使用条件构造器的时候要使用QueryWrapper或者UpdateWrapper来充当条件语句来进行构造 QueryWrapper(LambdaQueryWrapper) 和 UpdateWra ...
- MyBatis:MyBatis-Plus条件构造器EntityWrapper
EntityWrapper 简介 1. MybatisPlus 通过 EntityWrapper(简称 EW,MybatisPlus 封装的一个查询条件构造器)或者 Condition(与 EW 类似 ...
- 小书MybatisPlus第2篇-条件构造器的应用及总结
一.条件构造器Wrapper Mybatis Plus为我们提供了如下的一些条件构造器,我们可以利用它们实现查询条件.删除条件.更新条件的构造. 条件构造器用于给如下的Mapper方法传参,通常情况下 ...
- MyBatisPlus性能分析插件,条件构造器,代码自动生成器详解
性能分析插件 我们在平时的开发中,会遇到一些慢sql,测试,druid MP(MyBatisPlus)也提供性能分析插件,如果超过这个时间就停止 不过官方在3.2版本的时候取消了,原因如下 条件构造器 ...
- Mybatis-Plus 实战完整学习笔记(十一)------条件构造器删除,修改,conditon
1.修改功能--其他过滤方式跟select一样 /** * 修改条件构造器 * @throws SQLException */ @Test public void selectUpdate() thr ...
- Mybatis-Plus 实战完整学习笔记(十)------条件构造器核心用法大全(下)
31.升序orderByAsc 31.升序orderByAsc List<Employee> employeeList = employeeMapper.selectList(new Qu ...
- Mybatis-Plus 实战完整学习笔记(九)------条件构造器核心用法大全(上)
一.Mybatisplus通用(公共方法)CRUD,一共17种(3.0.3版),2.3系列也是这么多,这个新版本一定程度进行了改造和删减. 二.构造器UML图(3.0.3)-----实体包装器,主要用 ...
- mybatis按datetime条件查询,参数为时间戳时
mybatis按datetime条件查询,参数为时间戳时,如果数据库为2018-1-1 20:22:10, 你的时间戳也为2018-1-1 20:22:10,但却没找到数据.可能是时差导致的.百度修正 ...
- mybatis动态拼接条件的技巧 where 1=1 或者where标签
/** * 根据输入的学生信息进行条件检索 * 1. 当只输入用户名时, 使用用户名进行模糊检索: * 2. 当只输入邮箱时, 使用性别进行完全匹配 * 3. 当用户名 ...
- MybatisPlus学习(四)条件构造器Wrapper方法详解
文章目录 1.条件构造器 2.QueryWrapper 2.1.eq.ne 2.2.gt.ge.lt.le 2.3.between.notBetween 2.4.like.notLike.likeLe ...
随机推荐
- C#.NET Framework RSA 公钥加密-私钥解密
C#.NET Framework RSA 公钥加密-私钥解密 加密解析: //假设私钥长度为1024, 1024/8-11=117. //如果明文的长度小于117,直接全加密,然后转base64.(d ...
- 地铁查询app 结对作业三
经过今天一下午的奋斗 安卓app 只剩下最难的部分了 最短路径问题 我们考虑用迪杰斯特拉算法 不过 没有做出来 还要继续去学习一下这个代码 并寻求网上代码的帮助
- http请求方式GET,POST工具类RestTemplate
http请求方式GET,POST工具类RestTemplate import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serial ...
- doris wget 地址
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.0-alpha1-bin-x86_64. ...
- JavaScript:JS对象_Array
<!DOCTYPE html><html> <head> <meta charset="utf-8"> ...
- 从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对
最近一段时间 Docker 镜像一直是 Pull 不下来的状态,感觉除了挂,想直连 Docker Hub 是几乎不可能的.更糟糕的是,很多原本可靠的国内镜像站,例如一些大厂和高校运营的,也陆续关停了, ...
- 【ZeroMQ】zguide 第一章 部分翻译
为了更好的阅读体验,请点击这里 本文大部分内容翻译自 Chapter 1 - Basics,原因是之前翻译的版本太老了,不得不亲自披挂上阵拿机器翻译一下.只截取了部分自己可能用得到的,所以如果有看不太 ...
- 【资料分享】全志科技T507工业核心板硬件说明书(下)
目 录 3 电气特性 3.1 工作环境 3.2 功耗测试 3.3 热成像图 4 机械尺寸 5 底板设计注意事项 5.1 最小系统设计 5.1.1 电源设计说明 5.1.2 系统启动配置 5.1. ...
- UML建模、设计原则
# UML统一建模语言 定义: 用于软件系统设计与分析的语言工具 目的: 帮助开发人员更好的梳理逻辑.思路 官网: https://www.omg.org/spec/UML 画图工具可以用在线网址:h ...
- ubuntu16 安装 python-networkmanager 失败
前言 ubuntu16 安装 python-networkmanager 失败 解决方案 sudo apt-get install libdbus-1-dev sudo apt-get install ...