SpringBoot輕松整合MongoDB的全過程記錄
前言
MongoDB 是一個介于關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫之間的產(chǎn)品,是非關系數(shù)據(jù)庫當中功能最豐富,最像關系數(shù)據(jù)庫的。
提示:以下是本篇文章正文內容,下面案例可供參考
一、技術介紹
1.MongoDB是什么?
MongoDB(來自于英文單詞“Humongous”,中文含義為“龐大”)是可以應用于各種規(guī)模的企業(yè)、各個行業(yè)以及各類應用程序的開源數(shù)據(jù)庫。作為一個適用于敏捷開發(fā)的數(shù)據(jù)庫,MongoDB的數(shù)據(jù)模式可以隨著應用程序的發(fā)展而靈活地更新。與此同時,它也為開發(fā)人員 提供了傳統(tǒng)數(shù)據(jù)庫的功能:二級索引,完整的查詢系統(tǒng)以及嚴格一致性等等。 MongoDB能夠使企業(yè)更加具有敏捷性和可擴展性,各種規(guī)模的企業(yè)都可以通過使用MongoDB來創(chuàng)建新的應用,提高與客戶之間的工作效率,加快產(chǎn)品上市時間,以及降低企業(yè)成本。
MongoDB是專為可擴展性,高性能和高可用性而設計的數(shù)據(jù)庫。它可以從單服務器部署擴展到大型、復雜的多數(shù)據(jù)中心架構。利用內存計算的優(yōu)勢,MongoDB能夠提供高性能的數(shù)據(jù)讀寫操作。 MongoDB的本地復制和自動故障轉移功能使您的應用程序具有企業(yè)級的可靠性和操作靈活性。
二、使用步驟
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---"); } }
總結
是不是感覺很簡單?更多用法請點擊下方查看源碼,關注我?guī)憬颐馗喔呒売梅?/p>
源碼地址:點此查看源碼.
到此這篇關于SpringBoot輕松整合MongoDB的文章就介紹到這了,更多相關SpringBoot輕松整合MongoDB內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java?數(shù)據(jù)結構與算法系列精講之單向鏈表
單向鏈表特點是鏈表的鏈接方向是單向的,訪問要通過順序讀取從頭部開始。鏈表是使用指針構造的列表,是由一個個結點組裝起來的,又稱為結點列表。其中每個結點都有指針成員變量指向列表中的下一個結點,head指針指向第一個結點稱為表頭,而終止于最后一個指向nuLL的指針2022-02-02java使用FFmpeg合成視頻和音頻并獲取視頻中的音頻等操作(實例代碼詳解)
這篇文章主要介紹了java使用FFmpeg合成視頻和音頻并獲取視頻中的音頻等操作,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02