SpringBoot整合MongoDB的實(shí)現(xiàn)步驟
一、技術(shù)介紹
1.MongoDB是什么?
MongoDB(來(lái)自于英文單詞“Humongous”,中文含義為“龐大”)是可以應(yīng)用于各種規(guī)模的企業(yè)、各個(gè)行業(yè)以及各類應(yīng)用程序的開源數(shù)據(jù)庫(kù)。作為一個(gè)適用于敏捷開發(fā)的數(shù)據(jù)庫(kù),MongoDB的數(shù)據(jù)模式可以隨著應(yīng)用程序的發(fā)展而靈活地更新。與此同時(shí),它也為開發(fā)人員 提供了傳統(tǒng)數(shù)據(jù)庫(kù)的功能:二級(jí)索引,完整的查詢系統(tǒng)以及嚴(yán)格一致性等等。 MongoDB能夠使企業(yè)更加具有敏捷性和可擴(kuò)展性,各種規(guī)模的企業(yè)都可以通過(guò)使用MongoDB來(lái)創(chuàng)建新的應(yīng)用,提高與客戶之間的工作效率,加快產(chǎn)品上市時(shí)間,以及降低企業(yè)成本。 MongoDB是專為可擴(kuò)展性,高性能和高可用性而設(shè)計(jì)的數(shù)據(jù)庫(kù)。它可以從單服務(wù)器部署擴(kuò)展到大型、復(fù)雜的多數(shù)據(jù)中心架構(gòu)。利用內(nèi)存計(jì)算的優(yōu)勢(shì),MongoDB能夠提供高性能的數(shù)據(jù)讀寫操作。 MongoDB的本地復(fù)制和自動(dòng)故障轉(zhuǎn)移功能使您的應(yīng)用程序具有企業(yè)級(jí)的可靠性和操作靈活性。
二、使用步驟
1.引入maven庫(kù)
代碼如下(示例):
<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.單元測(cè)試
測(cè)試代碼如下(示例):
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---");
}
}
總結(jié)
是不是感覺很簡(jiǎn)單?更多用法請(qǐng)點(diǎn)擊下方查看源碼,關(guān)注我?guī)憬颐馗喔呒?jí)用法
源碼地址:點(diǎn)此查看源碼.
以上就是SpringBoot整合MongoDB的實(shí)現(xiàn)步驟的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot整合MongoDB的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MongoDB在Windows平臺(tái)的安裝及配置方法
這篇文章主要介紹了MongoDB在Windows平臺(tái)的安裝及配置方法,簡(jiǎn)單分析了MongoDB的下載、設(shè)置方法、操作命令等具體步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-04-04
centos6.5中安裝mongodb簡(jiǎn)明總結(jié)
這篇文章主要介紹了centos6.5中安裝mongodb簡(jiǎn)明總結(jié),本文簡(jiǎn)單的總結(jié)了安裝過(guò)程中的6個(gè)步驟,需要的朋友可以參考下2014-10-10
Mongodb?刪除文檔Delete與Remove的區(qū)別解析
這篇文章主要介紹了Mongodb?刪除文檔Delete與Remove的區(qū)別,要從集合中刪除所有文檔,請(qǐng)將空過(guò)濾器文檔傳遞{}給該?db.collection.deleteMany()方法,本文通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08
mongodb使用c#驅(qū)動(dòng)數(shù)據(jù)插入demo
今天小編就為大家分享一篇關(guān)于mongodb使用c#驅(qū)動(dòng)數(shù)據(jù)插入demo,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01
Windows系統(tǒng)下安裝Mongodb 3.2.x的步驟詳解
mongodb3.x版本有好多新功能,關(guān)于這方面參考官網(wǎng)即可,下面這篇文章主要給大家介紹了在Windows系統(tǒng)下安裝Mongodb 3.2.x的詳細(xì)步驟,文中介紹的非常詳細(xì),需要的朋友們可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-03-03
MongoDB自動(dòng)刪除過(guò)期數(shù)據(jù)的方法(TTL索引)
這篇文章主要給大家介紹了關(guān)于MongoDB自動(dòng)刪除過(guò)期數(shù)據(jù)(TTL索引)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
一文帶你深入掌握MongoDB查詢分析的關(guān)鍵技巧
MongoDB 是一款靈活且可擴(kuò)展的NoSQL數(shù)據(jù)庫(kù),為了提高其性能,我們可以采取一些優(yōu)化技巧,這篇文章主要給大家介紹了關(guān)于MongoDB查詢分析關(guān)鍵技巧的相關(guān)資料,需要的朋友可以參考下2024-06-06
解決MongoDB6.0報(bào)錯(cuò):"mongo"不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件
這篇文章主要給大家介紹了關(guān)于解決MongoDB6.0報(bào)錯(cuò):"mongo"不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05

