springboot 整合mongoTemplate的 Query Criteria 用法
1.通过注解注入 mongoTemplate
@Autowired
private MongoTemplate mongoTemplate;
2.获取Query 和 Criteria 对象
Query query = new Query();Criteria criteria = new Criteria();
3.多参数动态查询。criteria 有两种写法,一种是criteria.and().is();另一种是criteria.where().is(),两种方式不能混合使用,否则不生效。
if(runningStatus != null){
criteria.and("runningStatus").is(runningStatus);
}
4.根据日期时间进行范围查询
SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );criteria.and("createTime").gt(format.parse(createTime));
criteria.and("endTime").lte(format.parse(endTime));
5.模糊查询
Pattern pattern=Pattern.compile("^.*"+taskTypeCode+".*$", Pattern.CASE_INSENSITIVE);
criteria.and("taskTypeCode").regex(pattern);
6.将查询条件装载到query中
query.addCriteria(criteria);
7.排序 通过参数 sord 判断排序方向,sortBy 为排序字段
query.with(new Sort(sord.length() == 3 ? Direction.ASC : Direction.DESC, sortBy));
8.分页,有两种方式,一种是通过pageable 一种是 limit().skip();limit表示查询多少数据,skip表示从哪条数据查起
//第一种query.with(pageable);long totoal = this.mongoTemplate.count(query, TaskMongo.class);List<TaskMongo> listTaskMongo = this.mongoTemplate.find(query , TaskMongo.class);//第二种query.limit(5000).skip(5000);List<TaskMongo> listTaskMongo = this.mongoTemplate.find(query , TaskMongo.class);
9.一个模糊关键字匹配多个字段
Pattern pattern=Pattern.compile("^.*"+pattern_name+".*$", Pattern.CASE_INSENSITIVE);criatira.orOperator(Criteria.where("name").regex(pattern),Criteria.where("sex").regex(pattern),Criteria.where("age").regex(pattern),Criteria.where("class").regex(pattern));
10. 查询指定的字段通过 Field这个类,通过findFields.include()方法设置查询字段
Query query = new Query(criteria);
Field findFields = query.fields();
findFields.include("id");
springboot 整合mongoTemplate的 Query Criteria 用法相关推荐
- springboot 整合 mongodb Criteria类 查询条件大全
关于springboot整合mongodb,可查看博文 https://blog.csdn.net/qq_41712271/article/details/116062611 import cn.hu ...
- SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询
SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询 由于在实际开发项目中,突然涉及到了需要Mongodb 进行连表操作的业务,所以我在私下进行了一波学习. 服务器 ...
- springboot整合elasticJob实战(纯代码开发三种任务类型用法)以及分片系统,事件追踪详解...
一 springboot整合 介绍就不多说了,只有这个框架是当当网开源的,支持分布式调度,分布式系统中非常合适(两个服务同时跑不会重复,并且可灵活配置分开分批处理数据,贼方便)! 这里主要还是用到zo ...
- RedisTemplate操作redis五大类型用法详解(springboot整合redis版本)
1.案例说明 springboot整合redis之后,提供了操作redis的简便方式 通过通用对象redisTemplate方式操作String,Hash,List,Set SortSet五大数据类型 ...
- 直接裂开!京东二面被问SpringBoot整合MongoDB,我不会啊
开始进入正题 一.技术介绍 SpringBoot整合MongoDB的实现步骤 一.技术介绍 1.MongoDB是什么? 二.使用步骤 1.MongoDB是什么? MongoDB(来自于英文单词&quo ...
- core 实例化接口_实例讲解Springboot整合MongoDB进行CRUD操作的两种方式
1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合Mon ...
- SpringBoot整合MongoDB 及 基本使用
目录 1.MongoDB基本介绍 2.MongoDB的特点 3.MongoDB的体系结构 4.MongoDB的数据类型 5.SpringBoot整合MongoDB ** 1.导入依赖 2.启动Mong ...
- SpringBoot整合MongoDB数据库并实现基础CRUD
MongoDB安装教程:MongoDB数据库安装以及将MongoDB设置为系统服务 MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,由C++语言编写.旨为WEB应用提供可扩展的高性 ...
- SpringBoot整合MongoDB,MongoTemplent的使用(3)
简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库 ...
最新文章
- 计算机教室要配备空调吗,孩子们教室里的空调 到底要不要装?能不能装?
- 循环更新数据库java_java – 无限循环数据库检查
- [k8s]k8s pod的4种网络模式最佳实战(externalIPs )
- FE.ES-JavaScript的模块化历史
- CentOS 6.3下Samba服务器的安装与配置(转)
- 机器人学习--感知环境数据集
- IAAS: IT公司去IOE-Alibaba系统构架解读
- silverlight5
- 程序一旦发觉写得不理想,那就得重构它
- java 声明静态类,为什么你不能在Java中将类声明为静态?
- .Net学习笔记----2015-06-28(值类型和引用类型)
- 【Android】Android签名:pem和pk8转化为keystore,jks
- PCI Express Base Specification Revision 3.0 英文手册 免费下载
- 安卓手机屏幕怎么投射到电脑显示器
- C++ 167. 两数之和 II 633. 平方数之和
- linux dns主配置文件,RHEL 5下DNS的主配置文件详解
- 使用Java导出Excel表格并由浏览器直接下载——基于POI框架
- 作者领读 | Prometheus云原生监控
- 【MDCC 2016】iOS开发峰会回顾:实战Coding演示 技术大牛带你起飞
- 413:Calling Extraterrestrial Intelligence Again(翻译 )
热门文章
- linux系统中如何验证网络端口通不通
- 数值转换lexical_cast的使用
- NOVA温控器参数笔记(六)(G.OUT)
- C C++ 分别编程赋不同姓名的约瑟夫环及用WindowsApi(C++及C)显示离座过程动画
- MATLAB许可证即将过期的解决办法
- web前端入门到实战:实现CSS形状变换
- java基础巩固-宇宙第一AiYWM:为了维持生计,手写RPC~Version07(RPC原理、序列化框架们、网络协议框架们 、RPC 能帮助我们做什么呢、RPC异常排查:ctrl+F搜超时)整起
- 【PHP】PHP5.4.0版本ChangeLog详解(上)
- [Perl语法篇] 数据类型:标量$Scalar
- 制造业应用ERP企业管理系统的必要性