• 售前

  • 售后

热门帖子
入门百科

SpringBoot整合MongoDB的实现步调

[复制链接]
我是的十八簿 显示全部楼层 发表于 2021-8-14 15:14:09 |阅读模式 打印 上一主题 下一主题
目次


  • 一、技术先容

    • 1.MongoDB是什么?

  • 二、使用步调

    • 1.引入maven库
    • 2.详细使用示例
    • 3.设置文件
    • 4.单元测试

  • 总结

一、技术先容



1.MongoDB是什么?


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

二、使用步调



1.引入maven库


代码如下(示例):
  1.            <parent>
  2.                 <groupId>org.springframework.boot</groupId>
  3.                 <artifactId>spring-boot-starter-parent</artifactId>
  4.                 <version>2.4.1</version>
  5.                 <relativePath/>
  6.             </parent>
  7.      <dependencies>
  8.         <dependency>
  9.             <groupId>org.springframework.boot</groupId>
  10.             <artifactId>spring-boot-starter-data-mongodb</artifactId>
  11.         </dependency>
  12.     </dependencies>
复制代码
2.详细使用示例


MongoDB封装:
  1. /**
  2. * mongo db助手
  3. *
  4. * @Author: heyuhua
  5. * @Date: 2021/1/19 9:52
  6. */
  7. @Component
  8. public class MongoDBHelper {
  9.     @Autowired
  10.     private MongoTemplate mongoTemplate;
  11.     /**
  12.      * 保存
  13.      *
  14.      * @param t
  15.      * @param <T>
  16.      * @return
  17.      */
  18.     public <T> T save(T t) {
  19.         return mongoTemplate.save(t);
  20.     }
  21.     /**
  22.      * 保存
  23.      *
  24.      * @param t
  25.      * @param collectionName
  26.      * @param <T>
  27.      * @return
  28.      */
  29.     public <T> T save(T t, String collectionName) {
  30.         return mongoTemplate.save(t, collectionName);
  31.     }
  32.     /**
  33.      * 查询
  34.      *
  35.      * @param query
  36.      * @param tClass
  37.      * @param <T>
  38.      * @return
  39.      */
  40.     public <T> List<T> find(Query query, Class<T> tClass) {
  41.         return mongoTemplate.find(query, tClass);
  42.     }
  43.     /**
  44.      * 查询所有
  45.      *
  46.      * @param tClass
  47.      * @param <T>
  48.      * @return
  49.      */
  50.     public <T> List<T> findAll(Class<T> tClass) {
  51.         return mongoTemplate.findAll(tClass);
  52.     }
  53. }
复制代码
3.设置文件


代码如下(示例):
  1. server:
  2.   port: 8088
  3. spring:
  4.   #mongodb配置
  5.   data:
  6.     mongodb:
  7.       uri: mongodb://admin:admin@127.0.0.1:27017/admin
复制代码
4.单元测试


测试代码如下(示例):
  1. package com.hyh.core.test;
  2. import com.hyh.core.test.base.HyhTest;
  3. import com.hyh.core.test.po.Person;
  4. import com.hyh.mongodb.helper.MongoDBHelper;
  5. import org.junit.Test;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.data.mongodb.core.query.Criteria;
  8. import org.springframework.data.mongodb.core.query.CriteriaDefinition;
  9. import org.springframework.data.mongodb.core.query.Query;
  10. import org.springframework.data.mongodb.core.query.TextCriteria;
  11. import java.util.List;
  12. /**
  13. * MongoDb Test
  14. *
  15. * @Author: heyuhua
  16. * @Date: 2021/1/19 10:28
  17. */
  18. public class MongoDBTest extends HyhTest {
  19.     @Autowired
  20.     private MongoDBHelper mongoDBHelper;
  21.     @Test
  22.     public void testSave() {
  23.         Person person = new Person();
  24.         person.setName("heyuhua");
  25.         person.setAge(25);
  26.         mongoDBHelper.save(person);
  27.         Person person2 = new Person();
  28.         person2.setName("hyh");
  29.         person2.setAge(52);
  30.         mongoDBHelper.save(person2);
  31.     }
  32.     @Test
  33.     public void testSaveCollection() {
  34.         Person person = new Person();
  35.         person.setName("heyuhua");
  36.         person.setAge(25);
  37.         mongoDBHelper.save(person, "personCollection");
  38.         Person person2 = new Person();
  39.         person2.setName("hyh");
  40.         person2.setAge(52);
  41.         mongoDBHelper.save(person2, "personCollection");
  42.     }
  43.     @Test
  44.     public void testFindAll() {
  45.         List<Person> list = mongoDBHelper.findAll(Person.class);
  46.         for (Person person : list) {
  47.             System.out.println("name=" + person.getName() + ",age=" + person.getAge());
  48.         }
  49.     }
  50.     @Test
  51.     public void testFind() {
  52.         Criteria criteria = new Criteria();
  53.         criteria.and("age").gte("25");
  54.         Query query = new Query(criteria);
  55.         List<Person> list = mongoDBHelper.find(query,Person.class);
  56.         for (Person person : list) {
  57.             System.out.println("name=" + person.getName() + ",age=" + person.getAge());
  58.         }
  59.     }
  60.     @Test
  61.     @Override
  62.     public void test() {
  63.         System.out.println("---MongoDb Test---");
  64.     }
  65. }
复制代码
总结


是不是感觉很简朴?更多用法请点击下方查看源码,关注我带你揭秘更多高级用法
源码地址:点此查看源码.
以上就是SpringBoot整合MongoDB的实现步调的详细内容,更多关于SpringBoot整合MongoDB的资料请关注草根技术分享其它相关文章!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作