欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

程序员文章站 2024-01-22 23:01:16
...

Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作。Spring Boot的目的是提供一组工具,以便快速构建容易配置的Spring应用程序,省去大量传统Spring项目的繁琐配置。

MongoDB是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

本文介绍如何使用Spring Boot操作MongoDB,通过Java代码在MongoDB里插入数据。

首先按照这个教程的第一篇文章的介绍,在本地搭建好MongoDB的环境:

MongoDB最简单的入门教程之一 环境搭建

新建一个Java项目,pom.xml的内容如下:

<?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.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>org.springframework</groupId>

<artifactId>gs-rest-service</artifactId>

<version>0.1.0</version>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.0.3.RELEASE</version>

</parent>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.mongodb</groupId>

<artifactId>mongodb-driver</artifactId>

<version>3.6.4</version>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

<dependency>

<groupId>com.jayway.jsonpath</groupId>

<artifactId>json-path</artifactId>

<scope>test</scope>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-mongodb</artifactId>

</dependency>

</dependencies>

<properties>

<java.version>1.8</java.version>

</properties>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

<repositories>

<repository>

<id>spring-releases</id>

<url>https://repo.spring.io/libs-release</url>

</repository>

</repositories>

<pluginRepositories>

<pluginRepository>

<id>spring-releases</id>

<url>https://repo.spring.io/libs-release</url>

</pluginRepository>

</pluginRepositories>

</project>

MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

其中这个dependency的作用是为SpringBoot应用提供操作MongoDB的功能:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-mongodb</artifactId>

</dependency>

这个dependent能让您的Spring Boot应用支持junit:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

在src/main/test文件夹下创建一个以Tests结尾的.java文件,我的例子里是ApplicationTests.java:

将如下代码粘贴进去:

package main.test;
import org.junit.Before;
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 main.java.library.Application;
import main.java.library.Book;
import main.java.library.BookRepository;
@RunWith(SpringRunner.class)
@SpringBootTest(classes=Application.class)
public class ApplicationTests {
    @Autowired
    private BookRepository bookRepository;
    @Before
    public void setUp() {
        bookRepository.deleteAll();
    }
    @Test
    public void test() throws Exception {
        bookRepository.save(new Book("1", "didi", "Jerry"));
    }
}

MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

第27行代码,新建了一个Book对象,id为1,name为didi,作者为Jerry。然后通过bookRepository加入到MongoDB里。

BookRepository的实现:

import java.util.Optional;
import org.springframework.data.mongodb.repository.MongoRepository;
public interface BookRepository extends MongoRepository<Book, String>, BookRepositoryCustom {
    public Optional<Book> findByName(String name);
}

这个JUnit单元测试运行成功后,

MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

在MongoDB Compass里成功看到这条插入的记录:

MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

要获取更多Jerry的原创技术文章,请关注公众号”汪子熙”或者扫描下面二维码:
MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB