SpringBoot整合MongoDB的步骤详解

下面就是 SpringBoot 整合 MongoDB 完整攻略:

概述

MongoDB 是一款文档型数据库,而 SpringBoot 是当前最流行的 Java Web 开发框架之一。结合使用这两者,我们可以轻松的完成高效、灵活的数据存储操作。

在本文中,我们将通过两个实例来演示如何在 SpringBoot 中使用 MongoDB 实现增删改查操作。

示例 1:创建 MongoDB 数据库

步骤 1:引入依赖

首先,在创建 SpringBoot 项目时应该加入 MongoDB 和 SpringData MongoDB 的依赖。打开 pom.xml 文件,添加以下内容:

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

步骤 2:创建 MongoDB 配置文件

src/main/resources 目录下新建 application.properties 文件,并配置 MongoDB 连接信息:

# MongoDB 连接信息
spring.data.mongodb.uri=mongodb://localhost:27017/test

步骤 3:创建实体类

为了让 MongoDB 知道我们需要存储的数据结构,我们需要定义一个对应的数据模型。在 src/main/java 下创建相应的实体类 User.java

package xyz.luronix.springmongo.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "users")
public class User {

    @Id
    private String id;
    private String name;

}

上述代码中,我们使用 @Document 注解将该实体类映射到 MongoDB 的 users 集合。同时,我们用 @Id 注解将 id 字段作为文档的唯一标识符。

步骤 4:创建 MongoDB 操作接口

src/main/java 目录下,创建 MongoUserRepository.java 接口,并继承 MongoRepository 接口:

package xyz.luronix.springmongo.repository;

import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
import xyz.luronix.springmongo.entity.User;

@Repository
public interface MongoUserRepository extends MongoRepository<User, String> {

}

这里 MongoUserRepository 继承了 MongoRepository 接口,并通过泛型指定了实体类 Userid 的类型 String。SpringData MongoDB 会自动为我们实现增删改查等操作。

步骤 5:编写服务层代码

在服务层中,我们通过调用 MongoUserRepository 中的方法来完成对 MongoDB 的操作。这里我们采用了比较常用的 RESTful 风格的 API 接口,因此我们需要创建一个 RESTful Controller。

src/main/java 目录下,创建 UserController.java 控制器:

package xyz.luronix.springmongo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import xyz.luronix.springmongo.entity.User;
import xyz.luronix.springmongo.repository.MongoUserRepository;

import java.util.List;

@RestController
@RequestMapping(path = "/api/users")
public class UserController {

    @Autowired
    private MongoUserRepository userRepository;

    @GetMapping("")
    public ResponseEntity<List<User>> findAll() {
        return ResponseEntity.ok(userRepository.findAll());
    }

    @GetMapping("/{id}")
    public ResponseEntity<User> findById(@PathVariable String id) {
        return userRepository.findById(id).map(ResponseEntity::ok)
                .orElse(new ResponseEntity<>(HttpStatus.NOT_FOUND));
    }

    @PostMapping("")
    public ResponseEntity<User> save(@RequestBody User user) {
        return ResponseEntity.status(HttpStatus.CREATED)
                .body(userRepository.save(user));
    }

    @PutMapping("")
    public ResponseEntity<User> update(@RequestBody User user) {
        return userRepository.existsById(user.getId()) ? ResponseEntity.ok(userRepository.save(user))
                : new ResponseEntity<>(HttpStatus.NOT_FOUND);
    }

    @DeleteMapping("/{id}")
    public ResponseEntity<Void> delete(@PathVariable String id) {
        userRepository.deleteById(id);
        return ResponseEntity.ok().build();
    }

}

实例 2:查询 MongoDB 数据库

步骤 1:引入依赖

同样,在创建 SpringBoot 项目时应该加入 MongoDB 和 SpringData MongoDB 的依赖。打开 pom.xml 文件,添加以下内容:

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

步骤 2:创建 MongoDB 配置文件

src/main/resources 目录下新建 application.properties 文件,并配置 MongoDB 连接信息:

# MongoDB 连接信息
spring.data.mongodb.uri=mongodb://localhost:27017/test

步骤 3:编写查询代码

在服务层中,我们通过调用 MongoTemplate 来实现 MongoDB 数据库的查询操作。在 src/main/java 目录下创建 MongoQueryService.java 文件,并编写以下代码:

package xyz.luronix.springmongo.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import xyz.luronix.springmongo.entity.User;

import java.util.List;

@Service
public class MongoQueryService {

    @Autowired
    private MongoTemplate mongoTemplate;

    public List<User> findAll() {
        return mongoTemplate.findAll(User.class);
    }

    public User findById(String id) {
        return mongoTemplate.findById(id, User.class);
    }

    public List<User> findByName(String name) {
        return mongoTemplate.find(query(where("name").is(name)), User.class);
    }

    public User save(User user) {
        return mongoTemplate.insert(user);
    }

    public User update(User user) {
        return mongoTemplate.save(user);
    }

    public void deleteById(String id) {
        mongoTemplate.remove(query(where("id").is(id)), User.class);
    }

}

MongoQueryService 中,我们使用 MongoTemplate 提供的方法来完成 MongoDB 数据库的查询。例如,我们使用 findAll() 方法来查询所有用户,使用 findById() 方法来根据 id 查找单个用户,使用 findByName() 方法来根据名称查找用户列表,使用 save() 方法来插入记录,使用 update() 方法来更新记录,使用 deleteById() 方法来删除记录。

总结

本文详细介绍了 SpringBoot 整合 MongoDB 的步骤。在实际开发中,使用 MongoDB 进行数据存储具有可扩展性、数据模型灵活和高效的特点。通过这里的示例,相信各位读者对于使用 SpringBoot 和 MongoDB 进行开发有了更为深入和全面的了解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合MongoDB的步骤详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • MongoDB4.2.5安装方法操作步骤

    MongoDB4.2.5安装方法操作步骤 在开始安装MongoDB之前,需要先确保操作系统已经安装好。MongoDB支持Linux、Windows、macOS等操作系统,本文以Ubuntu 18.04为例进行讲解。 1. 获取安装包 MongoDB官网提供了各个操作系统的安装包下载。打开官网下载页面,选择对应的系统版本,下载tar.gz压缩包。 2. 解压安…

    MongoDB 2023年5月16日
    00
  • Ubuntu 18.04安装MongoDB 4.0 的教程详解

    Ubuntu 18.04安装MongoDB 4.0 的教程详解 1. 前置条件 在开始安装MongoDB 4.0之前,确保已经完成以下步骤: 安装Ubuntu 18.04操作系统。 通过apt-get更新软件包列表。 sudo apt-get update 安装apt-transport-https软件包。 sudo apt-get install apt-…

    MongoDB 2023年5月16日
    00
  • Ubuntu 14.04 安装 MongoDB 及 PHP MongoDB Driver详细介绍

    下面是Ubuntu 14.04安装MongoDB及PHP MongoDB驱动的详细攻略: 安装MongoDB 打开终端,执行以下命令更新Ubuntu包管理器: sudo apt-get update 执行以下命令安装MongoDB包: sudo apt-get install mongodb 安装完成后启动MongoDB: sudo service mong…

    MongoDB 2023年5月16日
    00
  • MongoDB的安装方法图文教程

    以下是关于“MongoDB的安装方法图文教程”的完整攻略。 安装MongoDB的前置条件 准备好安装包:MongoDB官网下载页面 确认系统是否支持MongoDB:MongoDB系统要求页面 在Windows系统上安装MongoDB 步骤1:下载并安装MongoDB 打开MongoDB官网下载页面,选择合适的版本进行下载。 如果还没有安装内置Git,这里是下…

    MongoDB 2023年5月16日
    00
  • MongoDB中aggregate()方法实例详解

    当然,请先给出我文章的标题格式:# MongoDB中aggregate()方法实例详解 # 什么是MongoDB中的aggregate()方法 MongoDB中的聚合操作可以通过 aggregate() 方法进行实现。该方法可以对 MongoDB 集合进行多个操作,包括文档分组、文档变换、文档计算等等。简单来说,aggregate() 方法是通过提供聚合管道…

    MongoDB 2023年5月16日
    00
  • mongodb数据库实验之增删查改

    以下是“mongodb数据库实验之增删查改”的完整攻略。 环境准备 首先,我们需要准备好MongoDB的运行环境,这里我们可以选择在本地电脑上安装MongoDB,也可以使用MongoDB提供的在线云服务(如Atlas)。 另外,我们需要安装MongoDB的驱动程序,以便在代码中使用MongoDB的操作命令。具体可以选择不同编程语言对应的驱动程序。在本次实验中…

    MongoDB 2023年5月16日
    00
  • MongoDB数据库中索引和explain的使用教程

    让我来为你详细讲解MongoDB数据库中索引和explain的使用教程的完整攻略。 索引 什么是索引 索引是一种特殊的数据结构,在存储数据时用于快速查找数据。MongoDB支持多种不同类型的索引,包括单字段索引、组合索引和全文索引等。 单字段索引是在单个字段上创建的索引,它可以提高在该字段上的查询速度。 组合索引是在多个字段上创建的组合索引,有时也称为联合索…

    MongoDB 2023年5月16日
    00
  • SpringBoot整合MongoDB完整实例代码

    下面详细介绍一下“SpringBoot整合MongoDB完整实例代码”的完整攻略,并给出两个示例。 前置条件 在开始编写代码之前,需要确保以下组件已经安装。 JDK 1.8 或者以上 Maven 3.x 或者以上 MongoDB 数据库 创建Spring Boot项目 首先我们需要创建一个Spring Boot项目,可以使用Spring官方提供的start.…

    MongoDB 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部