直接裂开!京东二面被问SpringBoot整合MongoDB,我不会啊


开始进入正题

一、技术介绍

SpringBoot整合MongoDB的实现步骤

  • 一、技术介绍
    • 1.MongoDB是什么?
  • 二、使用步骤

1.MongoDB是什么?

  • MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,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 {@Autowiredprivate 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: 8088spring:#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 {@Autowiredprivate MongoDBHelper mongoDBHelper;@Testpublic 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);}@Testpublic 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");}@Testpublic void testFindAll() {List<Person> list = mongoDBHelper.findAll(Person.class);for (Person person : list) {System.out.println("name=" + person.getName() + ",age=" + person.getAge());}}@Testpublic 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@Overridepublic void test() {System.out.println("---MongoDb Test---");}}

最后,祝大家早日学有所成,拿到满意offer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3/15/2010

ER - Error EecoveryA4 - ArrowHead 转载于:https://www.cnblogs.com/climberluoxi/archive/2010/03/15/1686725.html

textjoin去重_SuperJoinText这个函数,弥补了TEXTJOIN的缺憾

自从TextJoin函数处理&#xff0c;我感觉Excel文本处理问题&#xff0c;减少了一半&#xff0c;真的特别好用!但也有一些不足的地方&#xff0c;比如能不能直接对满足条件的数据去重后合并&#xff0c;直接忽略FALSE等&#xff0c;当然你可能会说其他函数组合可以实现&#xff…

复工后,看看他们都是怎么上班的!

全世界只有3.14 % 的人关注了爆炸吧知识来源&#xff1a;大叔爱吐槽 人民日报本周全国各地终于逐步复工&#xff01;听&#xff01;小伙伴在召唤你&#xff01;你大概从未想过&#xff0c;有一天自己竟会盼望上班&#xff1f;困守家中的20多天&#xff0c;积累了天量防疫知识&a…

使用 OpenLDAP 集中管理用户帐号

关键字&#xff1a; OpenLDAP ReiserFS SCTP nmon 正则表达式 使用轻量级目录访问协议&#xff08;LDAP&#xff09;构建集中的身份验证系统可以减少管理成本&#xff0c;增强安全性&#xff0c;避免数据复制的问题&#xff0c;并提高数据的一致性。随着 Linux&reg; 的不断…

.NET Core 2.1 容器镜像将从 Docker Hub 中删除

.NET Core 2.1 容器镜像将从 Docker Hub 中删除Richard 2021 年 8 月 16 日从 8 月 21 日开始&#xff0c;.NET Core 2.1 Docker 容器镜像将不再在 Docker Hub 上可用&#xff0c;而只能在 Microsoft Container Registry (MCR) 上使用。此更改之前已通过 dotnet/dotnet-docker …

【每日分享】我做程序员那些年犯下的罪,此时此刻我自己的笑出猪叫~

以前我刚入行&#xff0c;总是会犯这样几个常见错误&#xff0c;后面想起来是真的SB。当然每个程序员会犯错&#xff0c;重要的是从中吸取教训&#xff0c;得到成长。那么这些错误到底是什么呢&#xff1f;我来给大家盘点一下&#xff01;&#xff01;&#xff01; 当我感觉我…

解决ubuntu下eclipse 经常崩溃的问题

2019独角兽企业重金招聘Python工程师标准>>> ubuntu对SWT程序支持的不怎么好&#xff0c;基于SWT的eclipse在ubuntu下经常崩溃和失去响应&#xff0c;要解决这个问题需要1.需要卸载掉 overlay-scrollbar libwebkit-1.02.eclipse.ini中加入 -Dsun.awt.disablegrabtru…

结构设计

结构是值类型。结构是在堆栈上或以内联方式分配的&#xff0c;当结构超出范围时将被释放。通常情况下&#xff0c;值类型的内存空间分配和释放的开销较小&#xff1b;但在需要大量装箱和取消装箱操作的方案中&#xff0c;值类型的执行性能较引用类型要差。有关更多信息&#xf…

揭秘神仙高校的课堂!网友跪了:这就是差距啊!

全世界只有3.14 % 的人关注了爆炸吧知识疫情之下&#xff0c;家家闭门谢客&#xff0c;宅着就是做贡献了。原本一晃而过的7天假期变得“漫长”&#xff0c;延迟复工、居家办公&#xff1b;学生党们把寒假过成了暑假。随着各高校公布延迟开学时间到二月底&#xff0c;各种网络直…

oracle中prad函数_024 SQL函数

1. 使用ORDER BY排序(1) ORDER BY 子句的作用是什么&#xff1f;用ORDER BY子句排序。用于对结果集进行排序处理&#xff0c;提供了升序排序&#xff08;ASC&#xff09;与降序排序&#xff08;DESC&#xff09;如果不指定排序规则默认为升序排序。在排序中也可以使用没有包括在…

WPF 基于 .NET 5 框架和 .NET 6 的 SDK 进行完全单文件发布

本文来告诉大家如何基于 .NET 5 框架和 .NET 6 SDK 进行完全单文件发布&#xff0c;这是对 WPF 应用程序进行独立发布&#xff0c;生成的是完全单文件的方法在之前的版本&#xff0c;尽管也是基于 .NET 5 框架的 WPF 应用&#xff0c;然而在 .NET 5 的 SDK 下&#xff0c;除非是…

双绞线直连法如何才能使两台电脑实现共享

都知道用双绞线直连法组网&#xff0c;但是到底如何操作才能够实现呢&#xff1f;我在这里给大家介绍一下具体步骤&#xff1a;双机互连直接用双绞线连接&#xff0c;使用简单的对等网组网方案&#xff1a; 第一步、分别给两台机器装上网卡以及网卡的驱动程序&#xff1b; 第二…

世道变了,面试初级Java开发会问到Arrays!!!你不会还不知道吧!

一、基本定义 Arrays类&#xff0c;全路径java.util.Arrays&#xff0c;主要功能为操作数组&#xff0c;Arrays类的所有方法均为静态方法&#xff0c;所以 调用方式全部为Arrays.方法名 二、常用方法 1. <T> List<T> asList(T... a)可以将数组转化为相应的lis…

DNS(三)--子域授权和视图

实验题目&#xff1a;1.子域授权&#xff08;委派&#xff09;2.视图实验环境&#xff1a;1.vmware虚拟机2.linux子机两台3.XP测试机实验过程&#xff1a;一、子域授权在现实生活中我们世界互联网中的每个主机并不是在同一个域内&#xff0c;而是通过不同的依据将将其划分到不同…

学习使用RIA Framework Flex创建MySQL管理UI(初学Flex实例教程)

引言&#xff1a;一直想学习Flex来着&#xff0c;平时都是因为太懒的缘故&#xff0c;没有去实践&#xff0c;在csdn上无意看到这篇博文&#xff0c;觉得对自己挺有帮助的&#xff0c;就引过来了~ PHPMyAdmin的出现震撼了业界&#xff0c;这毫无疑问。它当然是基于PHP的最佳应用…

11尺寸长宽 iphone_LED显示屏的尺寸规格计算方法

LED屏幕在生活中&#xff0c;随处可见&#xff0c;显示屏、广播屏等等&#xff0c;但是LED尺寸怎么计算的&#xff0c;你知道吗&#xff1f;今天我们来了解一下LED屏幕尺寸的计算方法。一、点间距的计算1、各单元板常见型号及尺寸LED屏普遍是用单元板做的。LED单元板常见型号及…

盘点数学里十大不需语言的证明

全世界只有3.14 % 的人关注了爆炸吧知识当谈到复杂数学定理的证明时&#xff0c;很多人常常为之色变&#xff0c;认为这只是一个枯燥的公式堆砌和深奥的数学推导过程。这当然是一个让笔者感到纠结的误解。因为数学证明中包含的美丽与精巧实在是一道亮丽的风景线&#xff0c;而这…

好端端的程序员,咋就成了新生代农民工!

实锤&#xff0c;程序员被划为新生代农民工&#xff0c;码农的称号终获官方认定&#xff0c;网上一片热议。虽然农民工的称呼有点突兀&#xff0c;然而更多的评论都是在羡慕程序员的高薪&#xff0c;尤其是那些能进一线大厂的幸运儿。往年.NET进大厂难&#xff0c;而今年腾讯、…

一个合格网络管理员的成长经历

随着信息化进程的飞速发展&#xff0c;组建网络已成为每个现代企业的必经之路。而在我国的大部分中小企业中&#xff0c;对网络这一神奇工具的使用还非常有限&#xff0c;究其原因主要因为在这些企业中缺乏完整的管理思路和控制管理能力的网络管理员。笔者以自己从一个对网络一…

大厂Java初级开发工程师!!!面试必问项之Set实现类:TreeSet

一、TreeSet 概述 1、TreeSet是 SortedSet 接口的实现类&#xff0c; TreeSet 可以确保集合元素处于排序状态。 2、TreeSet顾名思义他内部维护的是一个TreeMap&#xff0c;底层是红黑二叉树&#xff0c;他使得集合内都是有序的序列。 3、Tree可以按照添加对象的指定属性&…