Myabtis-Plus之QueryWrapper常用方法
AbstractWrapper 下的方法及使用
| 方法名 | 说明 | 使用 |
|---|---|---|
| allEq(Map<R, V> params) | 全部 =(或个别 isNull) | allEq(params,true) |
| eq | = | eq(“real_name”,“王昭君”) |
| ne | <> | ne(“nick_name”,“空想 4”) |
| gt | > | gt(“age”,21) |
| ge | >= | ge(“age”,22) |
| lt | < | lt(“age”,22) |
| le | <= | le(“age”,21") |
| between | cloum between ? and ? | between(“age”,0,21) |
| notBetween | cloum between ? and ? | notBetween(“age”,0,21) |
| like | cloum like ‘% 王 %’ | like(“real_name”,“王”) |
| notLike | not like ‘% 王 %’ | notLike(“real_name”,“王”) |
| likeLeft | like ‘% 王’ | likeLeft(“real_name”,“昭”) |
| likeRight | like ‘王 %’ | likeRight(“real_name”,“昭”) |
| isNull | is null | isNull(“gender”) |
| isNotNull | is not null | isNotNull(“gender”) |
| in | in (1,2,3) | in(“nick_name”,lists) |
| notIn | age not in (1,2,3) | notIn(“nick_name”,lists) |
| inSql | age in (1,2,3,4,5,6) | inSql(“nick_name”,"‘空想 4’,‘空想 5’,‘空想 6’") |
| notInSql | age not in (1,2,3,4,5,6) | notInSql(“nick_name”,"‘空想 4’,‘空想 5’,‘空想 6’") |
| groupBy | group by id,name | groupBy(“nick_name”,“age”) |
| orderByAsc | order by id ASC,name ASC | orderByAsc(“nick_name”,“age”) |
| orderByDesc | order by id DESC,name DESC | orderByDesc(“age”) |
| orderBy | order by id ASC,name ASC | orderBy(true,true,“age”) |
| having | having sum(age) > 10 | having(“sum(age) > 10”) |
| or | id = 1 or name = ‘老王’ | eq(“nick_name”,“空想 4”).or(i->i.eq(“age”,21) eq(“nick_name”,“空想 4”).or().eq(“nick_name”,“空想 5”) |
| and | and (name = ‘李白’ and status <> ‘活着’) | and(i->i.eq(“age”,21)) |
| nested | (name = ‘李白’ and status <> ‘活着’) | nested(i->i.eq(“age”,21).eq(“nick_name”,“空想 4”)) |
| apply | id = 1 | apply(“nick_name = ‘空想 4’”) |
| last | 最后添加多个以最后的为准,有 sql 注入风险 | last(“limit 1”) |
| exists | 拼接 EXISTS (sql 语句) | exists(“select id from table where age = 1”) |
| notExists | 拼接 NOT EXISTS (sql 语句) | notExists(“select id from table where age = 1”) |
QueryWrapper
继承自 AbstractWrapper , 自身的内部属性 entity 也用于生成 where 条件
及 LambdaQueryWrapper, 可以通过 new QueryWrapper().lambda() 方法获取
| 方法名 | 说明 | 使用 |
|---|---|---|
| select | select(i -> i.getProperty().startsWith(“test”)) | select(“id”, “name”, “age”) |
UpdateWrapper
继承自 AbstractWrapper , 自身的内部属性 entity 也用于生成 where 条件
及 LambdaUpdateWrapper, 可以通过 new UpdateWrapper().lambda() 方法获取!
| 方法名 | 说明 | 使用 |
|---|---|---|
| set | set(“name”, “老李头”) | set(“name”, “”) |
| setSql | setSql(“name = ‘老李头’”) | setSql(String sql) |
参考于https://blog.csdn.net/qq_43399077/article/details/104061760
Myabtis-Plus之QueryWrapper常用方法的更多相关文章
- Mybatis-Plus常用的查询方法--看这一篇就够了!!!
前言: Mybatis-Plus作为Mybatis的增强,自己封装了很多简单还用的方法,来解脱自己写sql! 对于项目的搭建小编就不在说了,可以参考: SpringBoot+Mybatis-Plus的 ...
- 前端开发:Javascript中的数组,常用方法解析
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...
- Jquery元素选取、常用方法
一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...
- python浅谈正则的常用方法
python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...
- C# Webbrowser 常用方法及多线程调用
设置控件的值 /// <summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNa ...
- list,tuple,dict,set常用方法
Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...
- 记录yii2-imagine几个常用方法
记录yii2-imagine几个常用方法: //压缩 Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)->save(Yii::g ...
- DOM常用方法总结
DOM(Document Object Model:文档对象模型)为javascript中的一部分,它为访问和修改html文档或xml文档提供了一些编程接口,DOM以对象的形式来描述文档中的内容,以树 ...
- JSP内置对象及常用方法
jsp九大内置对象及四个作用域: 何为作用域 先让我们看看效果: 大概流程是这样的,我们访问index.jsp的时候,分别对pageContext, request, session,applicat ...
随机推荐
- BPMN 2.0
BPMN 2.0 Business Process Model and Notation 业务流程模型和符号 https://www.omg.org/spec/BPMN/2.0.2/ bpmn-js ...
- CSS animation & CSS animation 101
CSS animation 101 如何为 Web 添加动画效果. https://github.com/cssanimation/css-animation-101 https://github.c ...
- React & redux-saga & effects & Generator function & React Hooks
React & redux-saga & effects & Generator function & React Hooks demos https://github ...
- js & disabled right click & disabled right menu
js & disabled right click (() => { const log = console.log; log(`disabled copy`); document.bo ...
- 比起USDT,我为什么建议你选择USDN
2018年1月16日,USDT(泰达币)进入了很多人的视野.因为在这一天,在全球价值排名前50的加密货币中,包括比特币.莱特币以及以太坊在内的大多数的数字虚拟加密货币都遭遇了价格大幅下跌,只有泰达币价 ...
- C++算法代码——选举学生会
题目来自:https://www.luogu.com.cn/problem/P1271 题目描述 学校正在选举学生会成员,有 n(n\le 999)n(n≤999) 名候选人,每名候选人编号分别从 1 ...
- JDK源码阅读-FileInputStream
本文转载自JDK源码阅读-FileInputStream 导语 FileIntputStream用于打开一个文件并获取输入流. 打开文件 我们来看看FileIntputStream打开文件时,做了什么 ...
- 后端程序员之路 49、SSDB
正如Redis似乎是为替换memcached一样,SSSB是一个国人开发的旨在替换Redis的kv数据库. SSDB - 高性能的支持丰富数据结构的 NoSQL 数据库, 替代 Redishttp:/ ...
- 【HTB系列】靶机Chaos的渗透测试详解
出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) 知识点: 通过域名或者IP可能会得到网站的不同响应 Wpscan的扫描wordpress ...
- linux 几种传输文件的方式
SimpleHTTPServer + wget 如果线上可以直连线下的话,在线上使用wget访问线下的文件服务器: web的方法,比较灵活,使用完要尽快关闭这个服务: cd temp temp$ py ...