springBoot+mongoDB项目中,使用MongoFactory、MongoTemplate分页条件查询,增删查改
MongoDB:CRUD
- 添加
- 删除
- 修改
- 条件查询
- 分页条件查询
只展示实现类代码
添加
@Autowiredprivate MongoTemplate mongoTemplate;@Autowiredprivate MongoFactory mongoFactory;@Overridepublic boolean saveEntity(entityForm form) {try {实体类 en = new 实体类();en.setName(form.getName);// ... 实体类 save = mongoTemplate.save(en);return Objects.nonNull(save.get_id());} catch (Exception e) {log.error(e.getMessage());}}
底下的就给关键代码了,w太懒了。。。
删除
Query query = new Query(Criteria.where("条件字段名称例如_id").is(id));//id是传进来的条件DeleteResult remove = mongoTemplate.remove(query, 实体类.class);return remove.getDeletedCount() > 0; //返回删除条数
修改
Query query = new Query();// 添加修改表条件为id=id
query.addCriteria(Criteria.where("主键id字段名").is(id));Update update = new Update(); // 设置需要修改的字段update.set("字段名",新值);// 等等... //返回修改结果
UpdateResult updateResult = mongoTemplate.updateFirst(query, update, 实体类.class);
//updateResult.getModifiedCount()可以获得成功修改条数
条件查询
@Overridepublic List<实体类> getHbzbGudongList(条件实体类 search) {// 目前只有一个关键字字段(keywords) 可以添加多个Query query = new Query();if (Objects.nonNull(search.getKeywords())) {Pattern pattern = Pattern.compile("^.*" + search.getKeywords() + ".*$");query.addCriteria( // orOperator == 或者。里面俩条件关系是or,还有andOperator顾名思义等于数据库中的and new Criteria().orOperator( Criteria.where(条件字段名1).is(pattern),Criteria.where(条件字段名2).is(pattern)));}List<实体类> ls= mongoTemplate.find(query, 实体类.class);return ls;}
这玩意百度了好久用什么聚合查询 老是会报错什么的,导包也导不进,只能用底下发方法实现了
分页条件查询
private Integer type;private String keywords;-----------------上面是orderQuery 类的内容,可以自定义import org.springframework.*; //几乎包都在这下面,我懒得一个个复制出来了,别用*/*** 分页条件查询 //页码也可以不传,只要让orderQuery类继承一个基础分页对象就行* @param pageNum 页码* @param pageSize 条数* @param order 查询条件* @return 返回分页列表*/@Overridepublic Page<实体类> getOrderPage(Integer pageNum, Integer pageSize, orderQuery order) {Pageable pageable = PageRequest.of(pageNum - 1, pageSize);MongoTemplate mongoTemplate = mongoFactory.mongoTemplate("数据库名");Query query = new Query();// 判断条件类型if (Objects.nonNull(order.getType()) && Objects.nonNull(order.getKeywords())) {Integer type = order.getType();switch (type) { // 查询类型:{0:订单号,1:商家名称,2:商品名称}case 0 ->query.addCriteria("字段名1").is(order.getKeywords()));case 1 ->query.addCriteria("字段名2").is(order.getKeywords()));case 2 ->query.addCriteria("字段名3").is(order.getKeywords()));}}long total = mongoTemplate.count(query, 实体类.class);List<实体类> orderPageVOS = mongoTemplate.find(query.with(pageable), 实体类.class);return new PageImpl<>(orderPageVOS, pageable, total);}
相关文章:
springBoot+mongoDB项目中,使用MongoFactory、MongoTemplate分页条件查询,增删查改
MongoDB:CRUD 添加删除修改条件查询分页条件查询 只展示实现类代码 添加 Autowiredprivate MongoTemplate mongoTemplate;Autowiredprivate MongoFactory mongoFactory;Overridepublic boolean saveEntity(entityForm form) {try {实体类 en new 实体类();en.setName(form.ge…...
Leetcode236 二叉树两节点的最近公共祖先
问题描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个…...
Web的UI自动化基础知识
目录 1 Web自动化入门基础1.1 自动化知识以及工具1.2 主流web自动化测试工具1.3 入门案例 2 使用工具的API2.1 元素定位2.1.1 id选择器2.1.2 name2.1.3 class_name选择器2.1.4 tag_name选择器2.1.5 link_text选择器2.1.6 partial_link_text选择器2.1.7 xpath选择器2.1.8 CSS选择…...
【我是产品经理_注册安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …...
Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息;
Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息; 智慧工地是指运用信息化手段,通过三维设计平台对工程项目进行精确设计和施工…...
lock_wait_timeout
lock_wait_timeout 是 MySQL 中的一个重要参数,它用于控制当一个 MySQL 会话在等待锁时的等待时间。以下是关于 lock_wait_timeout 的详细解释: 定义与功能 定义:lock_wait_timeout 是一个会话或线程级别的参数,用于指定 MySQL …...
【可控图像生成系列论文(二)】MimicBrush 港大、阿里、蚂蚁集团合作论文解读2
【可控图像生成系列论文(一)】简要介绍了论文的整体流程和方法,本文则将就整体方法、模型结构、训练数据和纹理迁移进行详细介绍。 1.整体方法 MimicBrush 的整体框架如下图所示。为了实现模仿编辑,作者设计了一种具有双扩散模型…...
Linux时间子系统6:NTP原理和Linux NTP校时机制
一、前言 上篇介绍了时间同步的基本概念和常见的时间同步协议NTP、PTP,本篇将详细介绍NTP的原理以及NTP在Linux上如何实现校时。 二、NTP原理介绍 1. 什么是NTP 网络时间协议(英语:Network Time Protocol,缩写:NTP&a…...
边缘微型AI的宿主?—— RISC-V芯片
一、RISC-V技术 RISC-V(发音为 "risk-five")是一种基于精简指令集计算(RISC)原则的开放源代码指令集架构(ISA)。它由加州大学伯克利分校在2010年首次发布,并迅速获得了全球学术界和工…...
MySQL—navicat创建数据库表
-- 创建学生表(列,字段) 使用SQL创建 -- 学号int 登录密码varchar(20) 姓名,性别varchar(2),出生日期(datetime),家庭住址,email -- 注意点:使用英文括号(),表的名称 …...
html做一个画柱形图的软件
你可以使用 HTML、CSS 和 JavaScript 创建一个简单的柱形图绘制软件。为了方便起见,我们可以使用一个流行的 JavaScript 图表库,比如 Chart.js,它能够简化创建和操作图表的过程。 以下是一个完整的示例,展示如何使用 HTML 和 Cha…...
Pyshark——安装、解析pcap文件
1、简介 PyShark是一个用于网络数据包捕获和分析的Python库,基于著名的网络协议分析工具Wireshark和其背后的libpcap/tshark库。它提供了一种便捷的方式来处理网络流量,适用于需要进行网络监控、调试和研究的场景。以下是PyShark的一些关键特性和使用方…...
java中的Random
Random 是 Java 中的一个内置类,它位于 java.util 包中,主要用于生成伪随机数。伪随机数是指通过一定算法生成的、看似随机的数,但实际上这些数是由确定的算法生成的,因此不是真正的随机数。然而,由于这些数在统计上具…...
PyMuPDF 操作手册 - 01 从PDF中提取文本
文章目录 一、打开文件二、从 PDF 中提取文本2.1 文本基础操作2.2 文本进阶操作2.2.1 从任何文档中提取文本2.2.2 如何将文本提取为 Markdown2.2.3 如何从页面中提取键值对2.2.4 如何从矩形中提取文本2.2.5 如何以自然阅读顺序提取文本2.2.6 如何从文档中提取表格内容2.2.6.1 提…...
ResNet——Deep Residual Learning for Image Recognition(论文阅读)
论文名:Deep Residual Learning for Image Recognition 论文作者:Kaiming He et.al. 期刊/会议名:CVPR 2016 发表时间:2015-10 论文地址:https://arxiv.org/pdf/1512.03385 1.什么是ResNet ResNet是一种残差网络&a…...
java基础·小白入门(五)
目录 内部类与Lambda表达式内部类Lambda表达式 多线程 内部类与Lambda表达式 内部类 在一个类中定义另外一个类,这个类就叫做内部类或内置类 (inner class) 。在main中直接访问内部类时,必须在内部类名前冠以其所属外部类的名字才能使用;在…...
微观时空结构和虚数单位的关系
回顾虚数单位的定义, 其中我们把称为周期(的绝大部分),称为微分,0称为原点或者起点(意味着新周期的开始),由此我们用序数的概念反过来构建了基数的概念。 周期和单位显然具有倍数关…...
go-zero使用goctl生成mongodb的操作使用方法
目录 MongoDB简介 MongoDB的优势 对比mysql的操作 goctl的mongodb代码生成 如何使用 go-zero中mogodb使用 mongodb官方驱动使用 model模型的方式使用 其他资源 MongoDB简介 mongodb是一种高性能、开源、文档型的nosql数据库,被广泛应用于web应用、大数据以…...
服务器新硬盘分区、格式化和挂载
文章目录 参考文献查看了一下起点现状分区(base) ~ sudo parted /dev/sdcmklabel gpt(设置分区类型)增加分区 格式化需要先退出quit(可以)(base) / sudo mkfs.xfs /dev/sdc/sdc1(失败)sudo mkfs.xfs /dev/s…...
Openldap集成Kerberos
文章目录 一、背景二、Openldap集成Kerberos2.1kerberos服务器中绑定Ldap服务器2.1.1创建LDAP管理员用户2.1.2添加principal2.1.3生成keytab文件2.1.4赋予keytab文件权限2.1.5验证keytab文件2.1.6增加KRB5_KTNAME配置 2.2Ldap服务器中绑定kerberos服务器2.2.1生成LDAP数据库Roo…...
(创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
目录 一、主要内容: 二、运行效果: 三、VMD-BiLSTM负荷预测理论: 四、代码数据下载: 一、主要内容: 本代码结合变分模态分解( Variational Mode Decomposition,VMD) 和卷积神经网络(Convolutional neu…...
机器 reboot 后 kubelet 目录凭空消失的灾难恢复
文章目录 [toc]事故背景报错内容 修复过程停止 kubelet 服务备份 kubelet.config重新生成 kubelet.config重新生成 kubelet 配置文件对比 kubeadm-flags.env 事故背景 因为一些情况,需要 reboot 服务器,结果 reboot 机器后,kubeadm init 节点…...
Pytorch构建vgg16模型
VGG-16 1. 导入工具包 import torch.optim as optim import torch import torch.nn as nn import torch.utils.data import torchvision.transforms as transforms import torchvision.datasets as datasets from torch.utils.data import DataLoader import torch.optim.lr_…...
分支结构相关
1.if 语句 结构: if 条件语句: 代码块 小练习: 使用random.randint()函数随机生成一个1~100之间的整数,判断是否是偶数 import random n random.randint(1,100) print(n) if n % 2 0:print(str(n) "是偶数") 2.else语…...
flutter开发实战-RichText富文本居中对齐
flutter开发实战-RichText富文本居中对齐 在开发过程中,经常会使用到RichText,当使用RichText时候,不同文本字体大小默认没有居中对齐。这里记录一下设置过程。 一、使用RichText 我这里使用RichText设置不同字体大小的文本 Container(de…...
智慧消防新篇章:可视化数据分析平台引领未来
一、什么是智慧消防可视化数据分析平台? 智慧消防可视化数据分析平台,运用大数据、云计算、物联网等先进技术,将消防信息以直观、易懂的图形化方式展示出来。它不仅能够实时监控消防设备的运行状态,还能对火灾风险进行预测和评估…...
u8g2 使用IIC驱动uc1617 lcd有时候某些像素显示不正确
折腾了很久,本来lcd是挂载到已经存在的iic总线上的,总线原来是工作正常的,挂载之后lcd也能显示,但是有时候显示不正确,有时候全白的时候有黑色的杂点。 解决方案: 1.最开始以为是IIC总线速度快࿰…...
使用opencv合并两个图像
本节的目的 linear blending(线性混合)使用**addWeighted()**来添加两个图像 原理 (其实我也没太懂,留个坑,感觉本科的时候线代没学好。不对,我本科就没学线代。) 源码分析 源码链接 #include "opencv2/imgc…...
k8s学习笔记(一)
configMap 一般用来存储配置信息 创建configMap 从文件中获取信息创建:kubectl create configmap my-config --from-file/tmp/k8s/user.txt 直接指定信息: kubectl create configmap my-config01 --from-literalkey1config1 --from-literalkey2confi…...
自学前端——JavaScript篇
JavaScript 什么是JavsScript JavaScript是一种轻量级、解释型、面向对象的脚本语言。它主要被设计用于在网页上实现动态效果,增加用户与网页的交互性。 作为一种客户端语言,JavaScript可以直接嵌入HTML,并在浏览器中执行。 与HTML和CSS不…...
滨海天津网站建设/怎么推广自己的网站
为什么要写配置文件在开发过程中,我们常常会用到一些固定参数或者是常量。对于这些较为固定且常用到的部分,往往会将其写到一个固定文件中,避免在不同的模块代码中重复出现从而保持核心代码整洁。这个固定文件我们可以直接写成一个 .py 文件&…...
wordpress qq音乐播放器/百度推广竞价排名
是的,有许多开放的自然语言处理模型可供使用。其中一些流行的开源模型包括 BERT、GPT-3、RoBERTa 和 T5。这些模型都可以在网上找到,并且可以用于不同的自然语言处理任务,比如文本分类、文本生成、命名实体识别和机器翻译等。...
网站上做相关链接/上海app网络推广公司电话
之前我们推文讨论过如何使用jmeter读取文件, 比如csv, txt文件读取, 只要配置csv数据文件, 即可非常容易的从文件中读取想要的数据, 但是如果数据已经从API或者DB中获取, 想存放到文件中去该怎么办呢? 跟着我来做吧, 在本机新建一个txt文件, 新建一个用户自定义变量来假设里面…...
html页面添加wordpress/网络推广的渠道有哪些
微软vbscript下载Not long ago I saw a question in the VB Script forum that I thought would not take much time. You can read that question 不久前,我在VB Script论坛中看到一个问题,我认为不会花太多时间。 您可以阅读该问题 (Question ID &…...
网站首页轮播/域名注册流程和费用
1. VirtualApk项目地址 下载并解压后的目录结构如下,其中PluginDemo是官方写的一个示例 图1.png2. 使用Android Studio直接打开VirtualAPK-master项目 运行项目将其安装至手机上。安装成功之后,在VirtualAPK-master/app/build/VAHost/文件夹下生成如下文…...
wordpress如何建栏目/电商培训学校
Infoworld发布了2009年度开源软件大奖 ,分别评选出:最佳开源开发者工具 | 最佳开源企业软件 | 最佳开源网络软件 | 最佳开源平台和中间件 。还包括,有史以来最伟大的开源软件 和十大开源软件名人堂 。名单如下: 最佳开源开发者工…...