springboot操作mongodb增删改查

springboot操作MongoDB增删改查以及多表聚合查询 springboot操作MongoDB增删改查以及多表聚合查询 废话不多说,最近的项目决定弃用mysql使用MongoDB,作为一个去年大学毕业的菜鸡在没有别人带的情况下从知道这么个数据库到熟练使用遇到不少坑,在网上找到的资料里也不是多么完善,磕磕绊绊总算初步学会使用MongoDB。谨在此哔哔一些自己的学习经验,希望能够帮助到一些初学者。 第一步、整合MongoDB。 这一步比较简单,引入依... 阅读详情

springboot操作mongodb增删改查

导jar包

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

配置application.yml

spring:
  data:
    mongodb:
      host: 192.168.128.130
      database: studentdb


实体类就不写了

service层

package com.dl.springboot_mongo.service;
import com.dl.springboot_mongo.pojo.Student;
import java.util.List;
public interface StudentService {
        /**
         * 查询所有
         * @return
         */
        List<Student> findAll();

        /**
         * 根据ID查询
         * @return
         */
        Student findById(Long id);

        /**
         * 修改
         * @return
         */
        void modify(Student student);

        /**
         * 删除
         * @return
         */
        void del(Long id);

        /**
         * 新增
         * @return
         */
        void save(Student student);

        /**
         * 模糊查询
         * @return
         */
        List<Student> findAllmo(String name,String keyword);
}

实现层

package com.dl.springboot_mongo.service.serviceimlp;
import com.dl.springboot_mongo.pojo.Student;
import com.dl.springboot_mongo.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;


import java.util.List;
import java.util.regex.Pattern;


@Component
public class StudentServiceimlp implements StudentService {

    @Autowired
    private MongoTemplate mongoTemplate;


    /**
     * 查询所有
     * @return
     */
    @Override
    public List<Student> findAll() {
        return mongoTemplate.findAll(Student.class);
    }


    /**
     * 根据ID查询
     * @return
     */
    @Override
    public Student findById(Long id) {

        return mongoTemplate.findById(id,Student.class);
    }


    /**
     * 修改
     * @return
     */
    @Override
    public void modify(Student student) {
        Query query = new Query(Criteria.where("_id").is(student.getId()));
        Update update = new Update();
        update.set("name",student.getName());
        update.set("sex",student.getSex());
        update.set("age",student.getAge());
        update.set("gradeId",student.getGradeId());
        mongoTemplate.updateFirst(query,update,Student.class);
    }


    /**
     * 删除
     * @return
     */
    @Override
    public void del(Long id) {
    Student ById=mongoTemplate.findById(id,Student.class);
    mongoTemplate.remove(ById);
    }


    /**
     * 新增
     * @return
     */
    @Override
    public void save(Student student) {
    mongoTemplate.save(student);
    }


    /**
     * 模糊查询
     * @return
     */
    @Override
    public List<Student> findAllmo(String name,String keyword) {

        //完全匹配
        Pattern pattern = Pattern.compile("^"+name+"$", Pattern.CASE_INSENSITIVE);
        //右匹配
        Pattern pattern1 = Pattern.compile("^.*"+name+"$", Pattern.CASE_INSENSITIVE);
        //左匹配
        Pattern pattern2 = Pattern.compile("^"+name+".*$", Pattern.CASE_INSENSITIVE);
        //模糊匹配
        Pattern pattern3 = Pattern.compile("^.*"+name+".*$", Pattern.CASE_INSENSITIVE);
        Query query = Query.query(Criteria.where(name).regex(pattern));
        return mongoTemplate.find(query,Student.class);
    }


}

测试

package com.dl.springboot_mongo;
import com.dl.springboot_mongo.pojo.Grade;
import com.dl.springboot_mongo.pojo.Student;
import com.dl.springboot_mongo.service.GradeService;
import com.dl.springboot_mongo.service.StudentService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;


@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootMongoApplicationTests {


    @Autowired
    private StudentService studentService;


    @Autowired
    private GradeService gradeService;

    @Test
    public void contextLoads() {
    }

    /**
     * Student查询集合所有
     */

    @Test
    public void findAll(){
    List<Student> students= studentService.findAll();
        System.out.println(students.size());
    }


    /**
     * Student根据Id查询集合
     */
    @Test
    public void findById(){
       Student student= studentService.findById((long) 1);
        System.out.println(student.getName());
    }


    /**
     * Student根据Id删除集合
     */
    @Test
    public void del(){
        try {
            studentService.del((long) 5);
        }catch (Exception e){
            e.printStackTrace();
        }

    }


    /**
     * Student新增
     */
    @Test
    public void save(){
        Student student=new Student();
        student.setId((long) 6);
        student.setName("li");
        student.setSex("女");
        student.setAge((long) 18);
        student.setGradeId((long) 2);
        try{
            studentService.save(student);
        }catch (Exception e){

        }
    }


    /**
     * Student修改
     */

    @Test
    public void modify(){
        Student student=new Student();
        student.setId((long) 6);
        student.setName("lii");
        student.setSex("女");
        student.setAge((long) 18);
        student.setGradeId((long) 2);
        studentService.modify(student);
    }


    /**
     *Grade查询所有
     */
    @Test
    public void GradefindAll(){
        List<Grade> grades=gradeService.findAll();
        System.out.println(grades.size());
    }


    @Test
    public void findAllmo(){
        studentService.findAllmo("java","//");
    }
}
Springboot操作Mongodb实现增删改查带分页的操作 ​ 方法具体参考:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation。​ 这部分通过Springboot整合Mongodb实现增删改查带分页的操作。​ 除了采用上面的。​ 定义一个操作。​ 项目的启动类。​ 新建一个。​ 新建一个。​ 项目的。 阅读详情

相关推荐

RT-Thread stm32h7使用串口DMA

stm32h7在rtthread中无法使用串口DMA,通过更改驱动代码使其支持串口DMA

qq_35141454的博客 2285

Spring Boot使用mongodb进行增删改查操作

SpringBoot mongodb 菜鸟教程下载安装,可以多装一个可视化工具 http://www.runoob.com/mongodb/mongodb-tutorial.html POM &amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;gt; &amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;gt;org.springframework.boot&

qq_36528022的博客 2090

单细胞monocle3分析流程再整理

定义root cell, 推断拟时方向# 结合先验知识自定(示例数据)# 可视化示例数据,起点是随便点的。

zfyyzhys的博客 2100

SpringBoot实现MongoDB增删改查(mongoTemplate实现)

1.首先创建项目,目录如下: 2.pom.xml引入mongodb依赖,如下所示: <!-- mongodb依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-...

排长性感的小屁屁 806

手把手教你用SysMax桥接软件搞定CANoe、INCA和刷写工具(附驱动配置避坑点)

本文详细介绍了如何使用SysMax PCAN FD桥接软件实现CANoe、INCA和刷写工具的无缝对接,提供从驱动配置到多软件协同的全链路指南。重点解析了驱动安装避坑点、CANoe配置技巧、INCA集成方法以及刷写工具链优化方案,帮助汽车电子工程师构建高效开发环境。

weixin_30500105的博客 390

verilog CORDIC对数运算

verilog CORDIC对数运算

m0_64355812的博客 1735

SpringBoot 集成 mongodb 实现数据增删改查

spring-boot-starter-data-mongodb 是springboot官方出的starter,集成和操作相对方便 二、配置 两种配置方式:第一种是 uri 的方式(上述注销的那种),集群配置时每个ip:port用逗号隔开;第二种如上述,看起来清晰一些;两种方式没有优劣之分,看个人喜好。下述截取部分业务代码说明,查看时请忽略业务代码; 说明:上面插入的是json字符串,也可以直接插入结构体,但.........

清泉影月 1339

速腾Helios-16P使用Lego-loam实时构建点云地图(二)——Lego-loam的编译与运行

不兼容的问题,打开lego-loam的~/lego-loam_ws/src/LeGO-LOAM/LeGO-LOAM/src下的4个源码文件,搜索/camera_init,将所有/camera_init改成camera_init,也就是去掉斜杠,这样再回到工作空间重新编译lego-loam。3、速腾16线激光雷达RS-16 ----- 3D建图算法LeGO-LOAM的使用(Ubuntu18.04 + ROS Melodic)_速腾16线 lego loam_杰尼君的博客-优快云博客。

qq_59475883的博客 2567

Springboot集成mongodb简单的增删改查

spring-data-mongodb提供了MongoTemplate与MongoRepository两种方式访问mongodb。MongoRepository操作简单MongoTemplate操作灵活我们在项目中可以灵活适用这两种方式操作mongodb,MongoRepository的缺点是不够灵活,MongoTemplate正好可以弥补不足。

m0_65586745的博客 370

手把手教你在全新服务器内网安装OpenEuler 22.03 LTS SP4+ 安装 openGuass 5.0.0(LTS) 数据库

openEuler是面向数字基础设施的操作系统,支持服务器、云计算、边缘计算、嵌入式等应用场景,支持多样性计算,致力于提供安全、稳定、易用的开源服务器Linux操作系统。

cgqyw的专栏 3736

循迹小车控制实验:代码集成与硬件验证

在main.c文件中还需定义上层代码调用的GPIO输入和PWM输出相关函数,其中调用STM32CubeMX生成的HAL库函数。}else{}else{}else{}else{在main.h文件中的USER CODE BEGIN EFP注释代码段中外部声明Get函数和Set函数,使该函数可以被上层代码调用。循迹小车控制实验到本章全部完成。相比于前几章节的实验,本实验复杂程度是最高的。

u013288925的博客 127

SpringBoot整合MongoDB 并进行增删改查

SpringBoot整合MongoDB 并进行增删改查。

snow_adfe的博客 1089

《RT-Thread入门与实战》第1章:RT-Thread概述与核心优势

2006年由熊谱翔发起2017年成立上海睿赛德电子科技公司2021年成为国内首个通过ISO 26262 ASIL-D认证的RTOS。

2301_79143213的博客 985

SpringBoot之整合MongoDB实现增删改查操作

一、创建项目 选用gradle做项目自动化构建工具 添加lombok,web,mongodb的依赖

qianye的博客 8584

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SpringBoot集成Mongodb实现增删改查操作

面向文档:MongoDB存储的是BSON格式的数据,这是一种类似JSON的二进制格式,可以存储复杂的数据结构,如数组和嵌套文档。支持多种编程语言:MongoDB提供了多种编程语言的驱动程序和库,如Java、Python、C#等,方便开发者进行集成和使用。高可用性:MongoDB支持自动故障转移和数据冗余,可以在主节点故障时自动切换到备用节点,确保数据的持久性和一致性。分布式:MongoDB支持水平扩展,可以通过分片技术将数据分布在多个服务器上,实现高可用性和负载均衡。2.实现增删改查mongdb操作。

大道至简,悟在天成。 1221

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SpringBoot操作MongoDB实现增删改查

转自:https://blog.youkuaiyun.com/weixin_42236165/article/details/91884029 RabbitMQ事务之Confirm模式(一批):https://blog.youkuaiyun.com/zyf13716764752/article/details/91372910 Java中常见的对象类型简述(DO、BO、DTO、VO、AO、PO):htt...

qq_36688928的博客 421

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

一文快速入门 MongoDB 、MongoDB 8.2 下载安装、增删改查操作、索引、SpringBoot整合 Spring Data MongoDB

MongoDB 是一种新型的 NoSQL 数据库,它和我们常见的 MySQL、Oracle 这些关系型数据库有点像,但又更灵活。它不是用一张张有固定行和列的表来存数据,而是用一种类似 JSON 的格式(叫 BSON)来保存信息。这样一来,数据可以随意增加字段,结构也可以很复杂,比如可以在一条记录里直接放数组、对象,甚至嵌套更多数据,非常适合应对互联网应用里多变的数据需求。和传统数据库相比,MongoDB 最大的特点就是灵活、好扩展。不需要提前设计好死板的表结构,且支持索引。

2401_82540083的博客 1215

SpringBoot集成MongoDB基础入门,实现增删改查操作

快速使用Spingboot集成MongoDB实现增删改查。

m0_73093747的博客 1256

MongoDB的下载、安装、结合Spring Boot对MongoDB增删改查操作

MongoDB的下载、安装、结合Spring Boot对MongoDB增删改查操作 什么是MongoDB MongoDB 是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热 门 的一种。它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最 像关 系数据库的产品。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以 存 储比较复杂的数据类型。 ...

青蛙的博客 557

springboot连接mongodb_MongoDB--Spring Data MongoDB详细的操作手册(增删改查)

作者: CCWW_ 链接:https://my.oschina.net/ccwwlx/blog/3127391 在NoSQL盛行的时代,App很大可能会涉及到MongoDB数据库的使用,而也必须学会在Spring boot使用Spring Data连接MongoDB进行数据增删改查操作,如下为详细的操作手册。1. 依赖直接导入spring-data-mongodb包或者使用Spring Boot...

weixin_39716417的博客 383

java操作mongodb增删改查spring boot

1.spring boot集成mongodb java 索引查找mongodb java 时间段查找mongodb

yjw1007020425的博客 498

在SpringBoot下用java操作MongoDB数据库的增删改查

首先我们需要建立一个SpringBoot工程,在IDEA中有快捷的创建方式。   new -&gt; project -&gt; Spring Initializr 根据需要一路next下去即可     第二步,给application.properties添加MongoDB配置   #MongoDB #spring.data.mongodb.username=root #sp...

zekeTao的博客 5832

springboot实现操作mongodb,储存file文件以及基本数据的增删改查

项目整体的环境介绍: 我们整体项目是在ssm的基础上整合了springboot了以及权限框架shiro等,数据库用到了redis,mysql,mongodb,以及对象储存等,本文将重点介绍mongodb的操作。 依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</ar

欢迎来到chaizhibin的博客 1127

springboot整合mongodb

说明:springboot操作mongodb的简单增删改查。有时间就总结一点点。

点点的博客 523
上一篇: Java操作MongoDB
下一篇: mongotemplate mongodb的各种操作 模糊查询 精确查询
DLLLL_
博客等级 码龄7年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值