直接裂开!京东二面被问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.14 % 的人关注了爆炸吧知识来源&#xff1a;大叔爱吐槽 人民日报本周全国各地终于逐步复工&#xff01;听&#xff01;小伙伴在召唤你&#xff01;你大概从未想过&#xff0c;有一天自己竟会盼望上班&#xff1f;困守家中的20多天&#xff0c;积累了天量防疫知识&a…

使用 OpenLDAP 集中管理用户帐号

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

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

以前我刚入行&#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…

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

全世界只有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;如果不指定排序规则默认为升序排序。在排序中也可以使用没有包括在…

世道变了,面试初级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;而是通过不同的依据将将其划分到不同…

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;而今年腾讯、…

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

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

【Android笔记】如何创建列表视图3

接着上一篇实现一个带有复选框的列表视图&#xff0c;这要求对Adapter有比较清楚的理解。1. ArrayAdapter从Layout读取TextView控件&#xff0c;返回给ListView显示&#xff0c;这个处理在ArrayAdapter的getView方法里&#xff0c;我们可以继承这个类&#xff0c;覆盖getView&…

史上最硬核的数学老师!搞发明、造大炮,让战斗民族直叫爸爸,看完我跪了......

全世界只有3.14 % 的人关注了爆炸吧知识一直以来&#xff0c;有好多朋友在后台和知识君吐槽&#xff0c;自己在追逐菲尔兹奖的路上总被数学公式所绊倒&#xff0c;一见到数学公式就头疼&#xff01;这时&#xff0c;知识君就会搬出数学史上最萌的公式——“么么哒”公式&#x…

a标签传参接收_[pyecharts1.8] 系列配置之标签设置

今日心情 &#xff1a;em....又是一堆蛋疼的事情堆积的一周...文章会迟到&#xff0c;但不会缺席&#xff0c;准备好脑子接收下[pyecharts1.8] 系列配置之标签设置本文档(以及pyecharts使用手册中的其他文档)将会持续更新。 有些内容标记为待更新的&#xff0c;有时间我会补充上…

这个寒冬,如何让我们的身价翻倍?

这个寒冬&#xff0c;如何让我们的身价翻倍&#xff1f; ——《深入理解.NET&#xff08;第2版英文版&#xff09;》读后感 微软4大名著评选结果揭晓 在开始正文之前&#xff0c;我先给大家讲一个真实的故事&#xff1a;我有一位朋友&#xff0c;他的一位同学原来是做测试的&am…

ASP.NET Core 配置 - 创建自定义配置提供程序

ASP.NET Core 配置 - 创建自定义配置提供程序在本文中&#xff0c;我们将创建一个自定义配置提供程序&#xff0c;从数据库读取我们的配置。我们已经了解了默认配置提供程序的工作方式&#xff0c;现在我们将实现我们自己的自定义配置提供程序。对于自定义配置提供程序&#xf…

为什么你的孩子拼命做题,成绩还总是上不去?

▲ 点击查看以前有句名言&#xff1a;“学好数理化&#xff0c;走遍天下都不怕。”这句话放到现在可能并不一定适用&#xff0c;但是数理化生仍然是在孩子整个学习生涯中&#xff0c;占比分量非常重的学科。然而&#xff0c;对很多孩子而言&#xff0c;学习数理化生却是很枯燥乏…

js请求结果拦截机器_CefSharp请求资源拦截及自定义处理

前言在CefSharp中&#xff0c;我们不仅可以使用Chromium浏览器内核&#xff0c;还可以通过Cef暴露出来的各种Handler来实现我们自己的资源请求处理。什么是资源请求呢&#xff1f;简单来说&#xff0c;就是前端页面在加载的过程中&#xff0c;请求的各种文本&#xff08;js、cs…

ListView

2019独角兽企业重金招聘Python工程师标准>>> ListView总结(多选框ListViiew,动态加载&#xff0c;多线程更新ListView中的进度条) convertView缓存及使用 ListView 更高效的使用 Adapter ListView中convertView和ViewHolder的工作原理 convertView&setTag方…