前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

PS:hibernate 中也有 Criteria 的用法,见另一文章:jpa : criteria 作排除过滤、查询

1. 包:

import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.entity.Example.Criteria;

2. 使用:

    public void getQueryExampleByCondition(Example example, OrderQuery query) {Criteria criteria1 = example.createCriteria();// 设置 criteria2 与 criteria1 为 or 方式关联Criteria criteria2 = example.or(); if (query != null) {if (query.getLoadSrc() != null && query.getLoadSrc() != -1) {criteria1.andEqualTo("loadSrc", query.getLoadSrc());}if (!StringUtil.isEmpty(query.getOrderNo())) {criteria1.andLike("orderNo", "%" + query.getOrderNo() + "%");}// 以下 3 个会用 OR 方式加上 criteria2 中的条件if (query.getStatus() != null && query.getStatus() != -1) {criteria1.andEqualTo("status", query.getStatus());criteria2.andEqualTo("status", query.getStatus());}if (!StringUtil.isEmpty(query.getRepayDateEnd())) {criteria1.andLessThanOrEqualTo("repayDate", query.getRepayDateEnd());criteria2.andLessThanOrEqualTo("repayDate", query.getRepayDateEnd());}if (!StringUtil.isEmpty(query.getLoanDay())) {criteria1.andEqualTo("loanDay", query.getLoanDay());criteria1.andEqualTo("loanDay", query.getLoanDay());}}}

其中 criteria1 和 criteria2  是 or 的关系。

根据传入参数不同,执行 sql 效果类似:

SELECT * FROM xxxx WHERE (load_type = 5 AND loan_day = 7) OR (order_No = 5) 

where 后面第一个圆括号中的条件组合 load_type = 5 AND loan_day = 7 是 criteria1中的条件,

第二个圆括号中的条件 order_No = 5 是 criteria2 中的条件设置。

mybatis :Criteria 查询、条件过滤用法相关推荐

  1. MySQL——where字句常用的查询条件及用法

    where字句常用的查询条件 查询条件 谓词 比较 = , > , < , >= , <= , (<> , !=不等于) 确定范围 BETWEEN AND(相当于闭 ...

  2. MyBatis Generator Example.Criteria 查询条件复制

    背景: 我们在开发中使用MyBatis Generator生成的 XxxExample查询时,咋添加 or 查询时候,可能两个 Example.Criteria 对象的条件存在交集,即多个查询条件是相 ...

  3. Pandas库(3):DataFrame的条件过滤用法

    一.过滤机制 可以按照下列方法,依据列的值过滤DataFrame处理某些符合条件的行 dataframe[ 条件 ] dataframe[ dataframe["colname"] ...

  4. mysql new map_使用构造器模式动态构建Map作为mybatis的查询条件

    Map filter = mapper.convertValue(this,Map.class); System.out.printf("查询条件:%s\n", JSON.toJS ...

  5. MongoDB官方C#驱动中查询条件Query用法

    MongoDB条件查询的基本语法. 1 Query.All("name", "a", "b");//通过多个元素来匹配数组 2 3 Quer ...

  6. jpa : criteria 作排除过滤、条件中除去查出的部分数据、JPA 一个参数可查询多个字段

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. PS : mybatis 中也有对于 criteria 的使用,见另一文章:mybatis :Cri ...

  7. 每日一课 | 通过查询条件实现数据过滤-01

    05. 数据过滤-查询条件 大家好,我是小C,上期给大家分享--使用 SELECT 语句初步探索数据 本期分享内容:通过查询条件实现数据过滤-01 本期小C邀请的是董旭阳老师(资深数据库架构师)为我们 ...

  8. JEECG中datagrid方法自定义查询条件

    自定义加添加查询条件的用法: CriteriaQuery cq = new CriteriaQuery(EquipmentEntity.class, dataGrid); //查询条件组装器 org. ...

  9. 实战 | 如何使用微搭低代码实现按条件过滤数据

    在开发应用过程中难免会用到条件查询这个功能,本篇就来详细介绍下如何使用微搭低代码实现按条件过滤数据. 业务逻辑 我们在应用的会员列表中设置查询条件,根据输入的条件过滤数据,具体的效果如下图 我们在手机 ...

最新文章

  1. 数据结构源码笔记(C语言):二叉排序树的基本操作算法
  2. CAS项目部署和基础操作
  3. BitMap-BitSet(JDK1.8)基本使用入门
  4. 微软请你学Linux第三季: 6月最后的约会,再次诚意邀请!
  5. nginx基本配置与参数说明-【转】
  6. css横向排列_CSS中伪元素和伪类的经典使用技巧
  7. Android ROM 小白普及
  8. 2021年100道最新软件测试面试题,常见面试题及答案汇总
  9. ssm基于微信平台的牙科就诊信息管理系统的设计与实现 毕业设计源码211157
  10. oracle数据透明加密,使用ORACLE 透明数据加密 TDE
  11. 纯干货万字长文,(强烈建议收藏)一文通读Git使用教程
  12. 提升电脑性能的经典技巧
  13. 最简单的ESP8266的Wifi智能小车车教程
  14. 【echarts】在柱状图上方显示数值
  15. JZOJ 5603 Xjz
  16. MATLAB学习笔记(五)——MATLAB绘图
  17. TT语音:游戏社交乱象难平
  18. JEECG 集成KiSSO单点登录实现统一身份认证
  19. 数据挖掘项目笔记——使用joblib中的Parallel并行运行程序
  20. Android 图片模糊、高斯模糊、毛玻璃的三种实现方法

热门文章

  1. SharePoint 2013 RBS(Remote BLOB Storag) 安装、部署、垃圾回收
  2. Python 3.10 正式发布,新增模式匹配,同事用了直呼真香
  3. Hexo博客:您备案的网站未指向阿里云国内节点(不含香港)服务器,备案号可能被取消接入
  4. 【HDU - 5875】Function(线段树,区间第一个小于某个数的数 或 RMQ二分)
  5. LeetCode刷题实战(2):Add Two Numbers
  6. 2.Functions and Getting Help
  7. java 反射 类变量_java反射机制取出model类的所有变量,以及value
  8. 根据从日期控件选定的时间以表格形式显示数据_VB项目开发FlexGrid控件使用讲解...
  9. 求出该数组中特定元素的和,特定元素是指个位和十位不包含7的偶数。
  10. linux suid提权原理,Linux SUID、SGID、sticky提权