Spring Boot整合MongoDB实现增删改查

SpringBoot整合MongoDB实现增删改查、复合查询 1、向pom.xml中添加依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> 2、编辑app... 阅读详情

MongoDB这两年来是本人一直使用较多的,之前的使用大多通过封装的工具类对数据库进行操作,虽然也算稳定,但有了Spring Boot之前的工具类直接加到SpringBoot里就没那么好使了,因此查阅资料后自己小试牛刀写了个增删改查,觉得也还不错,所以分享给大家看看

1 pom和主配置文件,为了方便大家复制粘贴贴个完整的

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.debug</groupId>
  <artifactId>usemongo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>usemongo</name>
  <url>http://maven.apache.org</url>

   <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
  </properties>
  
  <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.4.5.RELEASE</version>
  </parent>
  
  <dependencies>
    <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-data-mongodb</artifactId>
	</dependency>
    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
           <scope>true</scope>
   </dependency>
    <dependency>
	    <groupId>com.alibaba</groupId>
	    <artifactId>fastjson</artifactId>
	    <version>1.2.38</version>
   </dependency>
   <dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-freemarker</artifactId>
  </dependency>
   
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
			<configuration>
				<!--fork :  如果没有该项配置,devtools不会起作用,即应用不会restart -->
				<fork>true</fork>
			</configuration>
		</plugin>
	</plugins>
 </build>
</project>
有几个配置大家根据喜好选择例如freemarker等,不要可根据需要去掉

spring.data.mongodb.database=test
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27017
spring.data.mongodb.username=test
spring.data.mongodb.password=654321
配置文件只写了MongoDB的一些简单配置,只作为参考,不一定要这样写

2 实体类/pojo

package com.debug.pojo;

import org.springframework.data.annotation.Id;

public class Order {
	
	@Id
	private int id;
	private String orderNo;
	private String nickName;
	private double totalPrice;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public String getNickName() {
		return nickName;
	}

	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	public double getTotalPrice() {
		return totalPrice;
	}

	public void setTotalPrice(double totalPrice) {
		this.totalPrice = totalPrice;
	}

}
第一个属性id可要可不要,MongoDB建议使用自带的_id作为主键,这样不会重复;另外如果实体和表名不一致可以使用
@Document注解指定,使用方法如下:

@Document(collection="orderInfo")

如果属性和数据库字段不同可以使用@Field("字段名")  指定

3  dao或repository(原理和Spring data jpa相似)

package com.debug.repository;

import java.util.regex.Pattern;

import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.repository.MongoRepository;

import com.debug.pojo.Order;

public interface OrderRepository extends MongoRepository<Order, Integer>{
   Order getByOrderNo(String orderNo);
   public Order getByOrderNoLike(String orderNo);
}
Spring data jpa的那一套查询规则,在MongoDB仍然适用

4 service层

package com.debug.service;

import com.debug.pojo.Order;

public interface OrderService {
	public Order getByOrderNo(String orderNo);
	public Order getByOrderNoLike(String orderNo);
	public void saveOrder(Order order);
	public void removeOrderByOrderNo(String orderNo);
	public void updateOrder(Order order);
}
package com.debug.service.impl;

import javax.annotation.Resource;
import javax.annotation.Resources;

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.Service;

import com.debug.pojo.Order;
import com.debug.repository.OrderRepository;
import com.debug.service.OrderService;

@Service
public class OrderServiceImpl implements OrderService{
	
	@Resource
	private MongoTemplate mongoTemplate;

	@Resource
	private OrderRepository orderRepository;
	
	public Order getByOrderNo(String orderNo) {
		
		return orderRepository.getByOrderNo(orderNo);
	}

	
	public void saveOrder(Order order) {
		orderRepository.save(order);
		
	}
	
    public Order getByOrderNoLike(String orderNo) {
		
		return orderRepository.getByOrderNoLike(orderNo);
	}
    
    public void removeOrderByOrderNo(String orderNo) {
    	Query q=new Query(new Criteria("orderNo").is(orderNo));
    	mongoTemplate.remove(q,Order.class);
    }
    
    public void updateOrder(Order order) {
    	Query q=new Query(new Criteria("orderNo").is(order.getOrderNo()));
    	Update update=new Update().set("nickName", order.getNickName());
    	mongoTemplate.updateMulti(q, update, Order.class);
    }

}
这里使用了MongoDBTempalte作删除和修改操作,查询使用的是spring data mongodb

5  controller的代码

package com.debug.controller;

import java.util.UUID;
import java.util.regex.Pattern;

import javax.annotation.Resource;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.debug.pojo.Order;
import com.debug.repository.OrderRepository;
import com.debug.service.OrderService;

@RestController
public class OrderController {
	
	@Resource
	private OrderService orderService;

	@RequestMapping("/saveOrder")
	@ResponseBody
	public String saveOrder() {
		
		Order order=new Order();
		order.setId(2);
		order.setNickName("潘玮柏");
		order.setOrderNo("X797468");
		order.setTotalPrice(4500.00);
		
		orderService.saveOrder(order);
		
		return "OK";
	}
	
	@RequestMapping("/getOrderByOrderNo")
	@ResponseBody
	public Order getOrderByOrderNo() {
		Order order=orderService.getByOrderNo("X797466");
		return order;
	}
	
	@RequestMapping("/getOrderByOrderNoLike")
	@ResponseBody
	public Order getOrderByOrderNoLike() {
		//String cond="X797";
		//Pattern pattern=Pattern.compile("^.*"++".*$");            
		Order order=orderService.getByOrderNoLike("X797");
		return order;
	}
	
	@RequestMapping("/removeOrderByOrderNo")
	@ResponseBody
	public String removeOrderByOrderNo() {         
		orderService.removeOrderByOrderNo("X797468");
		return "OK";
	}
	
	@RequestMapping("/updateOrder")
	@ResponseBody
	public String updateOrder() {    
		Order order=new Order();
		order.setNickName("Justin Timberlake");
		order.setOrderNo("X797467");
		orderService.updateOrder(order);
		return "OK";
	}
}
OK全部搞定,收工大笑

springboot整合MongoDB实现增删改查 | Spring Boot 30 一、建一个maven工程 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apach 阅读详情

相关推荐

FPGA+CMV4000实战:从零搭建20fps成像系统的5个关键步骤(附避坑指南)

本文详细介绍了如何从零搭建基于FPGA和CMV4000传感器的20fps成像系统,涵盖硬件选型、SPI通信优化、LVDS数据采集、DDR2内存管理及系统集成等5个关键步骤。特别针对CMV4000传感器的SPI配置和高速数据处理的常见问题提供实用解决方案,帮助开发者避免常见陷阱,提升成像系统性能。

weixin_42628688的博客 427

springboot整合MongoDB进行增删改查(详细)

mongodb

weixin_38568503的博客 2484

手把手教你用UM982搭建厘米级RTK定位系统(附避坑指南)

本文详细介绍了如何使用UM982模组搭建厘米级RTK定位系统,涵盖硬件连接、软件配置和深度优化技巧。UM982支持BDS、GPS、GLONASS和Galileo等多系统全频点信号,特别适合精准农业、无人机导航等高精度应用场景。通过实战案例和避坑指南,帮助开发者快速实现厘米级定位精度。

y7z8a的博客 1407

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

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

大道至简,悟在天成。 1221

10分钟训练你的AI歌手:RVC WebUI声音克隆保姆级教程

本文提供了一份详细的RVC WebUI声音克隆保姆级教程,指导用户如何在10分钟内利用Retrieval-based-Voice-Conversion技术训练专属AI歌手。教程涵盖从环境配置、数据准备、模型训练到最终推理应用的全流程,即使是新手也能快速上手,实现高质量的声音克隆与歌曲生成。

weixin_29073241的博客 818

RK3568平台(camera篇) mipi csi接口

MIPI联盟,即移动产业处理器接口(Mobile Industry Processor Interface 简称MIPI)联盟。MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。MIPI是差分串口传输,速度快,抗干扰。主流手机模组现在都是用MIPI传输,传输时使用4对差分信号传输图像数据和一对差分时钟信号;MIPI摄像头有三个电源:VDDIO(IO电源),AVDD(模拟电源),DVDD(内核数字电源),不同sensor模组的摄像头供电不同。

weixin_49303682的博客 5345

SpringBoot 整合 MongoDB 实现数据的增删改查!

在实际的业务场景中,可能还需要用到聚合函数等高级查询,大家如果有这种需求,可以访问如下地址获取更加详细的 api 文档介绍:MongoDB 文档查询 api 介绍。索引在所有的数据库中,暂居的位置非常重要,例如当你检索一张上百万的数据表的时候,如果没走索引,查询效率会极其缓慢,对于 MongoDB 来说,同样如此。: 文档是 MongoDB 中最基本的数据单元,由键值对组成,类似于 JSON 格式,可以存储不同字段,字段的值可以包括其他文档、数组和文档数组。

qq_42003636的博客 2635

YOLOv8多传感器融合技术——摄像头阵列融合技术详解

本文详细介绍了基于YOLOv8的摄像头阵列融合技术,该技术通过多摄像头协同工作实现360度无死角环境感知。文章阐述了系统原理,包括全方位视野覆盖、冗余设计和深度感知等优势,并提供了完整的Python实现代码。关键技术涵盖多摄像头检测、立体匹配、3D投影和目标融合等模块,支持时间域融合提升稳定性。该系统可显著提高自动驾驶的环境感知能力,减少检测盲区,增强系统可靠性,是L4-L5级自动驾驶的关键技术之一。文章还展示了城市驾驶场景的实际应用,验证了该技术对复杂交通环境的适应能力。

u010117029的博客 213

SpringBoot整合MongoDB增删改查

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

qq_39594419的博客 1511

[Dify] -进阶13- 使用“知识库 + 工作流”打造智能推荐系统

本文介绍了在Dify平台上构建智能推荐系统的方法,重点阐述了知识库与工作流技术的结合应用。通过知识库管理RAG流程,实现文档上传、向量嵌入和检索优化;利用工作流设计节点化推荐逻辑,支持并行处理与条件分支。以电话销售话术推荐为例,展示了从数据收集到实时生成的完整流程。该方法具有准确性高、扩展性强、维护简便等优势,可广泛应用于各类推荐场景,实现从数据存储到智能推荐的闭环解决方案。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 1067

YOLOv11涨点改进 | 检测头Head改进篇 | 利用DynamicConv高效动态卷积改进YOLOv11检测头,DyHead通过增强检测头操作,轻量化改进、提高模型目标检测的精度

本文提出了一种基于动态卷积(DynamicConv)的YOLOv11检测头改进方法v11Detect_DyHead。该方法通过引入多专家机制和动态权重调整,在增加参数量的同时保持较低计算复杂度,有效解决了低FLOPs模型难以从大规模预训练中获益的问题。文章详细介绍了DynamicConv模块的原理和实现,包括其参数高效特性、多专家机制和动态权重生成方式。同时提供了完整的代码实现和添加该模块的具体步骤,并给出了相应的YAML配置文件。实验表明,该方法在保持较低计算开销的同时显著提升了模型性能,适用于视觉和语言

Ai缝合怪、助力小伙伴高效发论文 534

个人学习系列 - Spring Boot 整合 MongoDB 实现数据增删改查

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 MongoDB安装 因为我是简单整合一下,所以是将MongoDB安装到windows中。 1. 官网下载安装包 2. 直接傻瓜式安装 2.1 选完整安装,自定义安装大佬随意。 2.2 地址和安装方式选择 2.3 可视化工具选择 2.4 安装完毕 3. 上手写代码 3.1 先用Navicat连接上MongoDB 连接上发现什么都没有,不用管,直接撸代码。 3.2 新建Spring Bo.

xiuaiba的博客 241

AI 大模型应用数据中心的数据清洗工具

1. 背景介绍 在人工智能大模型应用的浪潮中,数据清洗作为数据预处理的重要环节,对于提升模型性能和可靠性具有至关重要的作用。数据中心作为人工智能模型的运行环境,面临着海量数据流和多样化的数据类型,如何高效、准确地进行数据清洗,成为应用大模型的关键问题之一。本文将详细介绍AI大模型应用数据中心的数据清洗工具,包括核心概念、算法原理、具体操作步骤、应用场

SuperAGI2025 1804

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

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

qianye的博客 8584

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

增删改查功能怎么实现_SpringBoot整合MongoDB实现增删改查(完整案例)

自己本科时候一直使用的是Mysql,目前的课题组使用的是MongoDB,因此就花了一部分时间整理了一下,实现springboot与MongoDB的整合,并且实现基本的增删改查操作,从头到尾给出一个完整的案例。一、环境配置对于环境配置我是用了一张表来展示,版本之间差异不大,你可以基于其他版本进行测试。二、代码整合我们在这里举的例子是对用户类user的增删改查操作。现在我们先看一下现在的项目结构:下面...

weixin_39947306的博客 289

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

springboot+mongodb初体验

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

ldcaws的专栏 1329

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

MongoDB 整合SpringBoot

定义文档(文档相当于MYSQL 的行)

weiming的博客 417

SpringBoot整合MongoDB

SpringBoot整合MongoDB

wzc3614的博客 426

Spring Boot WebFlux-03——WebFlux 整合 MongoDB

第03课:WebFlux 整合 MongoDB 前言 上一课的内容讲解了用 Map 数据结构内存式存储了数据,这样数据就不会持久化,本文我们用 MongoDB 来实现 WebFlux 对数据源的操作。 什么是 MongoDB?详见官网。 MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个...

why191314的博客 430

spring boot集成mongodb的增删改查

添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> properties配置 spring.data.mongodb.host=127.0.0.1 spring.data.mongodb.por

码农研习社 851

Spring boot 整合 mongoDB

1.导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dep...

卟♪恋 273

springboot整合mongodb实现简单的增删查改功能

首先我查看下mongodb默认的数据库列表,打开mongodb的安装目录执行mongo.exe 然后执行命令show dbs出现如下图所示 本次学习我们使用test数据库,test数据库有数据时才会显示test 下面我们直接展示项目中的代码以及相关配置 项目目录 pom.xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;...

w651263072的博客 918

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

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

排长性感的小屁屁 806

【Spring Boot】Spring Boot整合MongoDB基本使用

MongoDB 下载安装与启动 MongoDB下载地址 注意:win7最高适用MongoDB 4.2版本 下载压缩文件,在文件夹中新建data\db文件夹用来存储数据 启动服务器 。在bin目录启动cmd 输入mongod --dbpath=…\data\db 启动客户端 。 在bin目录启动cmd 输入mongo MongoDB基础操作 db.集合名称.insert/save/insertOne(文档) //添加 db.集合名称.update({条件},{操作种类:{文档}}) db.集合名称.re

weixin_45463540的博客 586
上一篇: Kotlin整合Spring Boot实现数据库增删改查(spring data jpa版)
下一篇: Spring Boot整合shiro
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值