zoukankan      html  css  js  c++  java
  • MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

    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>
    

    其中这个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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

  • 相关阅读:
    GridView加ObjectDataSource做删除事件(ObjectDataSourceStatusEventHandler 委托)
    非常酷的三级下拉菜单!!(javascript)
    sql事务处理(转)
    首页头部下拉广告设计(javascript)
    JavaScript 强行弹出窗口 与 无提示关闭页面
    androd之绘制文本(FontMetrics)[转]
    Android 字 成 圆
    python写的二分插入算法
    Loading效果 UIActivityIndicatorView
    ios6.0 调用系统api 分享到 twitter facebook weibo
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/9820815.html
Copyright © 2011-2022 走看看