人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

SpringBoot整合MongoDB的實(shí)現(xiàn)步驟

發(fā)布日期:2022-01-28 17:18 | 文章來(lái)源:站長(zhǎng)之家

一、技術(shù)介紹

1.MongoDB是什么?

MongoDB(來(lái)自于英文單詞“Humongous”,中文含義為“龐大”)是可以應(yīng)用于各種規(guī)模的企業(yè)、各個(gè)行業(yè)以及各類(lèi)應(yīng)用程序的開(kāi)源數(shù)據(jù)庫(kù)。作為一個(gè)適用于敏捷開(kāi)發(fā)的數(shù)據(jù)庫(kù),MongoDB的數(shù)據(jù)模式可以隨著應(yīng)用程序的發(fā)展而靈活地更新。與此同時(shí),它也為開(kāi)發(fā)人員 提供了傳統(tǒng)數(shù)據(jù)庫(kù)的功能:二級(jí)索引,完整的查詢(xún)系統(tǒng)以及嚴(yán)格一致性等等。 MongoDB能夠使企業(yè)更加具有敏捷性和可擴(kuò)展性,各種規(guī)模的企業(yè)都可以通過(guò)使用MongoDB來(lái)創(chuàng)建新的應(yīng)用,提高與客戶(hù)之間的工作效率,加快產(chǎn)品上市時(shí)間,以及降低企業(yè)成本。 MongoDB是專(zhuān)為可擴(kuò)展性,高性能和高可用性而設(shè)計(jì)的數(shù)據(jù)庫(kù)。它可以從單服務(wù)器部署擴(kuò)展到大型、復(fù)雜的多數(shù)據(jù)中心架構(gòu)。利用內(nèi)存計(jì)算的優(yōu)勢(shì),MongoDB能夠提供高性能的數(shù)據(jù)讀寫(xiě)操作。 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);
    }
    /**
     * 查詢(xún)
     *
     * @param query
     * @param tClass
     * @param <T>
     * @return
     */
    public <T> List<T> find(Query query, Class<T> tClass) {
        return mongoTemplate.find(query, tClass);
    }
    /**
     * 查詢(xún)所有
     *
     * @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é)

是不是感覺(jué)很簡(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)文章!

海外服務(wù)器租用

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線(xiàn)路精選!

全天候客戶(hù)服務(wù)

7x24全年不間斷在線(xiàn)

專(zhuān)屬顧問(wèn)服務(wù)

1對(duì)1客戶(hù)咨詢(xún)顧問(wèn)

在線(xiàn)
客服

在線(xiàn)客服:7*24小時(shí)在線(xiàn)

客服
熱線(xiàn)

400-630-3752
7*24小時(shí)客服服務(wù)熱線(xiàn)

關(guān)注
微信

關(guān)注官方微信
頂部