1.实体查询类:TestQueryBO


import java.io.Serializable;public class TestQueryBO implements Serializable {/*** 主键*/private Integer id;/**  * 通用查询字符串*/private String commonQuery;/*** 真实姓名*/private String testName;/*** 手机号*/private String testAccount;/*** 联系方式*/private String testTel;/*** 服务编号*/private String testSn;/*** t_test*/private static final long serialVersionUID = 1L;/*** 主键* @return id 主键*/public Integer getId() {return id;}/*** 主键* @param id 主键*/public void setId(Integer id) {this.id = id;}public String getCommonQuery() {return commonQuery;}public void setCommonQuery(String commonQuery) {this.commonQuery = commonQuery;}/*** 真实姓名* @return test_name 真实姓名*/public String getTestName() {return testName;}/*** 真实姓名* @param testName 真实姓名*/public void setTestName(String testName) {this.testName = testName == null ? null : testName.trim();}/*** 手机号* @return test_account 手机号*/public String getTestAccount() {return testAccount;}/*** 手机号* @param testAccount 手机号*/public void setTestAccount(String testAccount) {this.testAccount = testAccount == null ? null : testAccount.trim();}/*** 联系方式* @return test_tel 联系方式*/public String getTestTel() {return testTel;}/*** 联系方式* @param testTel 联系方式*/public void setTestTel(String testTel) {this.testTel = testTel == null ? null : testTel.trim();}public String getTestSn() {return testSn;}public void setTestSn(String testSn) {this.testSn = testSn;}}

2.AND 字符链接的查询:

private TestQuery createQuery(TestQueryBO queryBO) {TestQuery query = new TestQuery();Criteria criteria = query.createCriteria();if(null != queryBO.getId()) {criteria.andIdEqualTo(queryBO.getId());}if(!StringUtils.isEmpty(queryBO.getTestSn())) {criteria.andTestSnLike("%" + queryBO.getTestSn() + "%");}if(!StringUtils.isEmpty(queryBO.getTestName())) {criteria.andTestNameLike("%" + queryBO.getTestName() + "%");}if(!StringUtils.isEmpty(queryBO.getTestAccount())) {criteria.andTestAccountLike("%" + queryBO.getTestAccount() + "%");}if(!StringUtils.isEmpty(queryBO.getTestTel())) {criteria.andTestTelLike("%" + queryBO.getTestTel() + "%");}return query;}

3.OR 字符链接的查询

    private TestQuery createQuery(TestQueryBO queryBO) {TestQuery query = new TestQuery();// 如果通用查询字符串不为空就设置这个查询if(null != queryBO.getCommonQuery()) {query.or().andTestSnLike("%" + queryBO.getCommonQuery() + "%");query.or().andTestNameLike("%" + queryBO.getCommonQuery() + "%");query.or().andTestAccountLike("%" + queryBO.getCommonQuery() + "%");query.or().andTestTelLike("%" + queryBO.getCommonQuery() + "%");}return query;}

4.两者的区别:

  1. AND 链接方式的查询使用的是 Query 对象里面的 Criteria 对象添加查询条件。
  2. OR 链接方式使用的是 Query 对象的 or() 方法添加查询条件。

mybatis query 对象 or 查询相关推荐

  1. MyBatis关联对象查询

    一.mapper接口的传参 Mapper文件中不能存在id重复的sql语句,所以,mapper接口中方法重载是没有意义的. Mapper接口传参的几种形式 1.1接口方法传一个基本类型的参数 接口方法 ...

  2. mybatis主从表关联查询,返回对象带有集合属性

    昨天有同事让我帮着看一个问题,mybatis主从表联合查询,返回的对象封装集合属性.我先将出现的问题记录一下,然后再讲处理方法也简单说明一下: VersionResult为接收返回数据对象,get\s ...

  3. SprigData-JPA之Query进行复杂查询并映射到自定对象(非数据库字段用@Transient注解)

    场景介绍 有时候用JPA的时候,想拥有mybatis如此轻松的映射,将一堆复杂场景的sql语句映射到一个java类来返回.而JPA本身是很坑的,Query之支持简单查询,复杂查询需要去构造Specif ...

  4. MyBatis 核心对象,工作原理及源码解读

    相关内容: 架构师系列内容:架构师学习笔记(持续更新) Mybatis工作原理 InputStream inputStream = Resources.getResourceAsStream(reso ...

  5. MyBatis四大对象

    mybatis四大对象指的是:executor,statementHandler,parameterHandler和resultHandler对象.这四个对象在sqlSession内部共同协作完成sq ...

  6. java查询结果自定义显示_JPA自定义对象接收查询结果集操作

    最近使用JPA的时候,碰到需要自定义查询结果集的场景,网上搜了一下,都是需要自定义方法写一大串代码实现的,太繁琐了,有那时间还不如用mybaits. 用JPA就是要尽量通过声明接口解决持久层问题,要不 ...

  7. MyBatis千万级数据查询解决方案,避免OOM

    流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果.流式查询的好处是能够降低内存使用. 如果没有流式查询,我们想要从数据库取 1000 万条记录而又没有足够的内 ...

  8. Javascript对象的查询字符串编码

    您是否知道将Javascript对象编码为可通过GET请求传递的string的快速简便的方法? 没有jQuery ,没有其他框架-仅是纯Javascript :) #1楼 如果要递归转换嵌套对象,并且 ...

  9. Mybatis系列(三):Mybatis实现关联表查询

    原文链接:http://www.cnblogs.com/xdp-gacl/p/4264440.html 一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 ...

最新文章

  1. gvim 二进制_vim/gvim学习
  2. 高效率开发必备!!!!
  3. 多级树的深度优先遍历与广度优先遍历(Java实现)
  4. 计算机二级c语言109套,2016年9月计算机二级C语言操作题109套讲述.docx
  5. C# #if, #else和#endif预处理指令
  6. 干货 | Tomcat 连接数与线程池详解
  7. 【转】应用架构之道:分离业务逻辑和技术细节
  8. ios微信本地视频上传到服务器,ios本地视频wx.uploadFile上传
  9. 简单的签到代码_PHP实现一个小小的签到功能,到底用MySQL还是Redis?
  10. 系统目录结构 ls命令 文件类型 alias命令
  11. OpenGL ES入门(使用指南)
  12. android自定义图片加载,Android自定义ProgressDialog加载图片
  13. SharedCache分析:服务端程序
  14. ubuntu 9.10修改grub启动项的方法
  15. 移动端学习笔记(黑马教程)-仿京东首页
  16. Java通过SSH实现文件上传下载功能
  17. emWin使用(1)——LCD屏幕接口、LCD驱动芯片确定
  18. 中国第一,全球领先的「浪潮」:用智慧计算征服的计算力天下
  19. 阿星 centos7卸载mysql并且通过yum安装mysql
  20. 【数值分析】插值法:拉格朗日插值、牛顿插值

热门文章

  1. 数据仓库专题(1)-数据仓库生命周期模型
  2. vue学习:基于本地应用制作的记事本
  3. python开根号函数图像,使用matplotlib / python的平方根刻度
  4. 角速度与rpm两者如何转换
  5. 小学计算机打字比赛简报,育瑞实验小学打字比赛活动通知
  6. 2022-06-29 银河麒麟V10 Nginx-rtmp+FFmpeg流媒体服务器环境搭建
  7. 如何下载jquery的jar包
  8. 贪心算法|406. 根据身高重建队列|先排序后插队
  9. 通过云端自动生成openmv的神经网络模型,进行目标检测
  10. STM32超声波模块(HC-SR04\US015)测试程序-HAL库函数