springboot下MongoDB的curd及MongoDB,Redis,MySQL的选择

147 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第11天,点击查看活动详情

何时使用Redis,MySQL和MongoDB

MongoDB,MySQL和Redis都是可用于存储和管理数据的数据库管理系统。这些系统中的每一个都有其独特的特性和功能,具体选择哪一种数据库,取决于具体需求的要求。

以下是何时使用这些数据库管理系统的一些一般准则:

  • MongoDB:MongoDB是一个NoSQL数据库系统,这意味着它旨在处理大量的非结构化数据。它特别适合存储不适合表的数据,例如具有嵌套结构的数据或经常更改的数据。MongoDB还以其水平可扩展性而闻名,这意味着它可以轻松处理大量数据而不会牺牲性能。
  • MySQL:MySQL是一种流行的关系数据库管理系统。它旨在将数据存储在表中,行表示记录,列表示字段。MySQL 非常适合需要结构化、表格数据模型并支持复杂查询的项目。它还以其可靠性和性能而闻名,使其成为关键任务应用的理想选择。
  • Redis:Redis 是一种内存数据存储,通常用作缓存或消息代理。它特别适合存储经常访问或更新的数据,因为它可以非常快速地检索和更新数据。Redis 还以其灵活性和对各种数据结构的支持而闻名,包括字符串、哈希、列表和集合。

一般来说,MongoDB是存储大量非结构化数据的不错选择,MySQL是结构化数据和复杂查询的不错选择,Redis是存储频繁访问的数据和支持实时应用的不错选择。最终,您项目的最佳选择将取决于您的特定需求和要求。

入门MongoDB

依赖的导入

在依赖jar包的导入上,我们采用Maven项目管理的方式完成导入

下面是在Maven中导入所需的jar包的依赖

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

配置

通过在文件中指定主机名和端口来配置与 MongoDB 实例的连接

application.properties示例:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017

当然我个人比较喜欢yml

下面是application.yml的配置示例:

spring:
  data:
    mongodb:
      uri: mongodb://localhost:27017/your_database_name
      host: localhost
      port: 27017
      database: your_database_name
      username: your_username
      password: your_password

最后,我们通过一个简单的例子来实现简单的基于MongoDB的curd

@Service
public class ExampleService {
    private final ExampleRepository repository;

    @Autowired
    public ExampleService(ExampleRepository repository) {
        this.repository = repository;
    }

    public ExampleObject save(ExampleObject object) {
        return repository.save(object);
    }

    public List<ExampleObject> findAll() {
        return repository.findAll();
    }

    public ExampleObject findById(String id) {
        return repository.findById(id).orElse(null);
    }

    public void deleteById(String id) {
        repository.deleteById(id);
    }
}