MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB
Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作。Spring Boot的目的是提供一组工具,以便快速构建容易配置的Spring应用程序,省去大量传统Spring项目的繁琐配置。
MongoDB是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
本文介绍如何使用Spring Boot操作MongoDB,通过Java代码在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>
其中这个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")); } }
第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 Compass里成功看到这条插入的记录:
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
相关推荐
csuzxm000 2020-08-02
lbyd0 2020-11-17
BigYellow 2020-11-16
sushuanglei 2020-11-12
我心似明月 2020-11-09
zhushenghan 2020-11-09
sunnnyduan 2020-10-16
不要皱眉 2020-10-14
xiaohai 2020-09-29
songxiugongwang 2020-09-22
萌亖 2020-09-17
LuckyLXG 2020-09-08
sdmzhu 2020-09-01
mkhhxxttxs 2020-09-16
xiaohai 2020-09-16
newcome 2020-09-09
jaylong 2020-08-19
大秦铁骑 2020-08-19