SpringBoot整合MongoDB的实现步骤


Posted in MongoDB onJune 23, 2021
目录
  • 一、技术介绍
    • 1.MongoDB是什么?
  • 二、使用步骤
    • 1.引入maven库
    • 2.具体使用示例
    • 3.配置文件
    • 4.单元测试
  • 总结

 

一、技术介绍

 

1.MongoDB是什么?

MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。 MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。 MongoDB的本地复制和自动故障转移功能使您的应用程序具有企业级的可靠性和操作灵活性。

 

二、使用步骤

 

1.引入maven库

代码如下(示例):

<parent>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-parent</artifactId>
	        <version>2.4.1</version>
	        <relativePath/>
	    </parent>
     <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
    </dependencies>

 

2.具体使用示例

MongoDB封装:

/**
 * mongo db助手
 *
 * @Author: heyuhua
 * @Date: 2021/1/19 9:52
 */
@Component
public class MongoDBHelper {

    @Autowired
    private MongoTemplate mongoTemplate;

    /**
     * 保存
     *
     * @param t
     * @param <T>
     * @return
     */
    public <T> T save(T t) {
        return mongoTemplate.save(t);
    }

    /**
     * 保存
     *
     * @param t
     * @param collectionName
     * @param <T>
     * @return
     */
    public <T> T save(T t, String collectionName) {
        return mongoTemplate.save(t, collectionName);
    }

    /**
     * 查询
     *
     * @param query
     * @param tClass
     * @param <T>
     * @return
     */
    public <T> List<T> find(Query query, Class<T> tClass) {
        return mongoTemplate.find(query, tClass);
    }

    /**
     * 查询所有
     *
     * @param tClass
     * @param <T>
     * @return
     */
    public <T> List<T> findAll(Class<T> tClass) {
        return mongoTemplate.findAll(tClass);
    }


}

 

3.配置文件

代码如下(示例):

server:
  port: 8088


spring:
  #mongodb配置
  data:
    mongodb:
      uri: mongodb://admin:admin@127.0.0.1:27017/admin

 

4.单元测试

测试代码如下(示例):

package com.hyh.core.test;

import com.hyh.core.test.base.HyhTest;
import com.hyh.core.test.po.Person;
import com.hyh.mongodb.helper.MongoDBHelper;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.CriteriaDefinition;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.TextCriteria;

import java.util.List;

/**
 * MongoDb Test
 *
 * @Author: heyuhua
 * @Date: 2021/1/19 10:28
 */
public class MongoDBTest extends HyhTest {

    @Autowired
    private MongoDBHelper mongoDBHelper;


    @Test
    public void testSave() {
        Person person = new Person();
        person.setName("heyuhua");
        person.setAge(25);
        mongoDBHelper.save(person);
        Person person2 = new Person();
        person2.setName("hyh");
        person2.setAge(52);
        mongoDBHelper.save(person2);
    }

    @Test
    public void testSaveCollection() {
        Person person = new Person();
        person.setName("heyuhua");
        person.setAge(25);
        mongoDBHelper.save(person, "personCollection");
        Person person2 = new Person();
        person2.setName("hyh");
        person2.setAge(52);
        mongoDBHelper.save(person2, "personCollection");
    }

    @Test
    public void testFindAll() {
        List<Person> list = mongoDBHelper.findAll(Person.class);
        for (Person person : list) {
            System.out.println("name=" + person.getName() + ",age=" + person.getAge());
        }
    }

    @Test
    public void testFind() {
        Criteria criteria = new Criteria();
        criteria.and("age").gte("25");
        Query query = new Query(criteria);
        List<Person> list = mongoDBHelper.find(query,Person.class);
        for (Person person : list) {
            System.out.println("name=" + person.getName() + ",age=" + person.getAge());
        }
    }

    @Test
    @Override
    public void test() {
        System.out.println("---MongoDb Test---");
    }


}

 

总结

是不是感觉很简单?更多用法请点击下方查看源码,关注我带你揭秘更多高级用法

源码地址:点此查看源码.

以上就是SpringBoot整合MongoDB的实现步骤的详细内容,更多关于SpringBoot整合MongoDB的资料请关注三水点靠木其它相关文章!

MongoDB 相关文章推荐
MongoDB使用profile分析慢查询的步骤
Apr 30 MongoDB
MongoDB数据库常用的10条操作命令
Jun 18 MongoDB
MongoDB 常用的crud操作语句
Jun 20 MongoDB
Mongo服务重启异常问题的处理方法
Jul 01 MongoDB
mongodb清除连接和日志的正确方法分享
Sep 15 MongoDB
MongoDB连接数据库并创建数据等使用方法
Nov 27 MongoDB
MongoDB使用场景总结
Feb 24 MongoDB
Centos系统通过Docker安装并搭建MongoDB数据库
Apr 12 MongoDB
SpringBoot集成MongoDB实现文件上传的步骤
Apr 18 MongoDB
MongoDB数据库之添删改查
Apr 26 MongoDB
详解MongoDB的条件查询和排序
Jun 23 #MongoDB
MongoDB orm框架的注意事项及简单使用
Jun 20 #MongoDB
MongoDB 常用的crud操作语句
Jun 20 #MongoDB
MongoDB数据库常用的10条操作命令
Jun 18 #MongoDB
MongoDB数据库的安装步骤
Jun 18 #MongoDB
MongoDB balancer的使用详解
Apr 30 #MongoDB
MongoDB使用profile分析慢查询的步骤
Apr 30 #MongoDB
You might like
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
php生成与读取excel文件
2016/10/14 PHP
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
vue组件name的作用小结
2018/05/23 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
JS+JQuery实现无缝连接轮播图
2020/12/30 jQuery
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
[01:28:44]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第一场 1月10日
2021/03/11 DOTA
Python对多属性的重复数据去重实例
2018/04/18 Python
Python按钮的响应事件详解
2019/03/04 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
如何获取某个日期是当月的最后一天
2013/12/05 面试题
实习生单位鉴定意见
2013/12/04 职场文书
口头翻译求职人自荐信
2013/12/07 职场文书
大学运动会通讯稿
2014/01/28 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
倡议书格式范文
2014/04/14 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
外出培训学习心得体会
2016/01/18 职场文书
导游词之青岛崂山
2019/12/27 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python