欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 50、Spring Boot 详细讲义(七) Spring Boot 与 NoSQL

50、Spring Boot 详细讲义(七) Spring Boot 与 NoSQL

2025/7/10 18:11:43 来源:https://blog.csdn.net/qq_22910257/article/details/147250801  浏览:    关键词:50、Spring Boot 详细讲义(七) Spring Boot 与 NoSQL

七 Spring Boot 与 NoSQL

目录

  • MongoDB 集成
  • Redis 集成
  • Elasticsearch 集成

1、 MongoDB 集成

1.1 MongoDB 概述

1.1.1 MongoDB 的基本概念
  • 文档型数据库
    • 数据存储为类似 JSON 的文档结构(BSON 格式)。
    • 每个文档由字段和值对组成,类似于键值对。
    • 支持嵌入式文档和数组,灵活性高。
  • BSON 格式
    • BSON(Binary Serialized JSON)是 JSON 的二进制形式。
    • 比 JSON 更高效,支持更多数据类型(如日期、二进制数据等)。
  • MongoDB 的核心特点
    • 模式自由:无需预定义模式,灵活变更。
    • 高可用性:支持副本集和分片,确保数据可用性。
    • 高扩展性:通过分片处理大规模数据。
    • 高性能:查询优化和索引支持。
1.1.2 MongoDB 的安装与简单使用
  • 安装 MongoDB

    1. 下载:从官方网站下载适合的版本(Community Server 或 Enterprise Server)。
    2. 安装
      • Windows:使用 MSI 安装包安装。
      • Linux:使用包管理器(如 apt、yum)安装。
      • macOS:使用 Homebrew 或手动下载安装。
    3. 启动:运行 mongod 命令启动数据库服务。
  • Mongo Shell 的使用

    • 启动 Shell:在命令行输入 mongo

    • 基本操作:

      # 显示所有数据库  
      show dbs  # 切换到指定数据库(若不存在则创建)  
      use mydb  # 插入文档  
      db.mycol.insertOne({name: "John", age: 30})  # 查询文档  
      db.mycol.find()  
      

1.2 Spring Boot 与 MongoDB 集成

1.2.1 项目结构与依赖配置
  • Maven 依赖
    pom.xml 中添加以下依赖:

    <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-data-mongodb</artifactId>  
    </dependency>  
    
  • Gradle 依赖
    build.gradle 中添加:

    dependencies {  implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'  
    }  
    
  • 项目结构

    • src/main/java:存放 Java 源文件。
    • src/main/resources:存放配置文件(application.properties)。
1.2.2 使用 Spring Data MongoDB 实现 CRUD 操作
  • 创建文档模型

    @Document(collection = "users")  
    public class User {  @Id  private String id;  private String name;  private int age;  // Getter 和 Setter 方法  
    }  
    
  • 创建getRepository接口

    public interface UserRepository extends MongoRepository<User, String> {  
    }  
    
  • 实现 CRUD 操作

    @Service  
    public class UserService {  @Autowired  private UserRepository userRepository;  public void create(User user) {  userRepository.save(user);  }  public List<User> read() {  return userRepository.findAll();  }  public void update(User user) {  userRepository.save(user);  }  public void delete(String id) {  userRepository.deleteById(id);  }  
    }  
    
1.2.3 MongoDB 配置
  • application.properties 配置

    spring:  data:  mongodb:  uri: mongodb://localhost:27017/  database: mydb  
    
  • 连接池配置

    spring.data.mongodb.connection.pool.size=20  
    

1.3 高级功能

1.3.1 分页查询与排序
  • 分页查询

    public List<User> findAll(Pageable pageable) {  return userRepository.findAll(pageable).getContent();  
    }  
    

    使用方式:

    PageRequest pageRequest = PageRequest

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com