mybatis query 对象 or 查询
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.两者的区别:
- AND 链接方式的查询使用的是 Query 对象里面的 Criteria 对象添加查询条件。
- OR 链接方式使用的是 Query 对象的 or() 方法添加查询条件。
mybatis query 对象 or 查询相关推荐
- MyBatis关联对象查询
一.mapper接口的传参 Mapper文件中不能存在id重复的sql语句,所以,mapper接口中方法重载是没有意义的. Mapper接口传参的几种形式 1.1接口方法传一个基本类型的参数 接口方法 ...
- mybatis主从表关联查询,返回对象带有集合属性
昨天有同事让我帮着看一个问题,mybatis主从表联合查询,返回的对象封装集合属性.我先将出现的问题记录一下,然后再讲处理方法也简单说明一下: VersionResult为接收返回数据对象,get\s ...
- SprigData-JPA之Query进行复杂查询并映射到自定对象(非数据库字段用@Transient注解)
场景介绍 有时候用JPA的时候,想拥有mybatis如此轻松的映射,将一堆复杂场景的sql语句映射到一个java类来返回.而JPA本身是很坑的,Query之支持简单查询,复杂查询需要去构造Specif ...
- MyBatis 核心对象,工作原理及源码解读
相关内容: 架构师系列内容:架构师学习笔记(持续更新) Mybatis工作原理 InputStream inputStream = Resources.getResourceAsStream(reso ...
- MyBatis四大对象
mybatis四大对象指的是:executor,statementHandler,parameterHandler和resultHandler对象.这四个对象在sqlSession内部共同协作完成sq ...
- java查询结果自定义显示_JPA自定义对象接收查询结果集操作
最近使用JPA的时候,碰到需要自定义查询结果集的场景,网上搜了一下,都是需要自定义方法写一大串代码实现的,太繁琐了,有那时间还不如用mybaits. 用JPA就是要尽量通过声明接口解决持久层问题,要不 ...
- MyBatis千万级数据查询解决方案,避免OOM
流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果.流式查询的好处是能够降低内存使用. 如果没有流式查询,我们想要从数据库取 1000 万条记录而又没有足够的内 ...
- Javascript对象的查询字符串编码
您是否知道将Javascript对象编码为可通过GET请求传递的string的快速简便的方法? 没有jQuery ,没有其他框架-仅是纯Javascript :) #1楼 如果要递归转换嵌套对象,并且 ...
- Mybatis系列(三):Mybatis实现关联表查询
原文链接:http://www.cnblogs.com/xdp-gacl/p/4264440.html 一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 ...
最新文章
- gvim 二进制_vim/gvim学习
- 高效率开发必备!!!!
- 多级树的深度优先遍历与广度优先遍历(Java实现)
- 计算机二级c语言109套,2016年9月计算机二级C语言操作题109套讲述.docx
- C# #if, #else和#endif预处理指令
- 干货 | Tomcat 连接数与线程池详解
- 【转】应用架构之道:分离业务逻辑和技术细节
- ios微信本地视频上传到服务器,ios本地视频wx.uploadFile上传
- 简单的签到代码_PHP实现一个小小的签到功能,到底用MySQL还是Redis?
- 系统目录结构 ls命令 文件类型 alias命令
- OpenGL ES入门(使用指南)
- android自定义图片加载,Android自定义ProgressDialog加载图片
- SharedCache分析:服务端程序
- ubuntu 9.10修改grub启动项的方法
- 移动端学习笔记(黑马教程)-仿京东首页
- Java通过SSH实现文件上传下载功能
- emWin使用(1)——LCD屏幕接口、LCD驱动芯片确定
- 中国第一,全球领先的「浪潮」:用智慧计算征服的计算力天下
- 阿星 centos7卸载mysql并且通过yum安装mysql
- 【数值分析】插值法:拉格朗日插值、牛顿插值
热门文章
- 数据仓库专题(1)-数据仓库生命周期模型
- vue学习:基于本地应用制作的记事本
- python开根号函数图像,使用matplotlib / python的平方根刻度
- 角速度与rpm两者如何转换
- 小学计算机打字比赛简报,育瑞实验小学打字比赛活动通知
- 2022-06-29 银河麒麟V10 Nginx-rtmp+FFmpeg流媒体服务器环境搭建
- 如何下载jquery的jar包
- 贪心算法|406. 根据身高重建队列|先排序后插队
- 通过云端自动生成openmv的神经网络模型,进行目标检测
- STM32超声波模块(HC-SR04\US015)测试程序-HAL库函数