最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot輕松整合MongoDB的全過程記錄

 更新時間:2021年01月31日 10:38:09   作者:消滅知識盲區(qū)  
這篇文章主要給大家介紹了關(guān)于SpringBoot輕松整合MongoDB的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

MongoDB 是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、技術(shù)介紹

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ù)中心架構(gòu)。利用內(nèi)存計算的優(yōu)勢,MongoDB能夠提供高性能的數(shù)據(jù)讀寫操作。 MongoDB的本地復制和自動故障轉(zhuǎn)移功能使您的應用程序具有企業(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---");
 }


}


總結(jié)

是不是感覺很簡單?更多用法請點擊下方查看源碼,關(guān)注我?guī)憬颐馗喔呒売梅?/p>

源碼地址:點此查看源碼.

到此這篇關(guān)于SpringBoot輕松整合MongoDB的文章就介紹到這了,更多相關(guān)SpringBoot輕松整合MongoDB內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決mybatis generator MySQL自增ID出現(xiàn)重復問題MySQLIntegrityConstraintViolationException

    解決mybatis generator MySQL自增ID出現(xiàn)重復問題MySQLIntegrityC

    在MySQL中使用MyBatis時,可能會遇到由于主鍵重復導致的插入失敗問題,此問題通常發(fā)生在連續(xù)插入多條數(shù)據(jù)時,如果selectKey的order配置錯誤,如使用BEFORE而不是AFTER,將會導致獲取的ID未更新,引起主鍵重復錯誤,正確的配置應使用AFTER
    2024-10-10
  • Java解析方法的調(diào)用關(guān)系示例詳解

    Java解析方法的調(diào)用關(guān)系示例詳解

    這篇文章主要介紹了Java解析方法的調(diào)用關(guān)系,方法在Java編程中用于封裝重復的代碼,提高代碼復用性,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • SpringBoot實現(xiàn)JPA多數(shù)據(jù)源配置小結(jié)

    SpringBoot實現(xiàn)JPA多數(shù)據(jù)源配置小結(jié)

    本文主要介紹了SpringBoot實現(xiàn)JPA多數(shù)據(jù)源配置小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • 解決jhipster修改jdl生成的實體類報錯:liquibase.exception.ValidationFailedException: Validation Failed

    解決jhipster修改jdl生成的實體類報錯:liquibase.exception.ValidationFailed

    這篇文章主要介紹了解決jhipster修改jdl生成的實體類報錯:liquibase.exception.ValidationFailedException: Validation Failed問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • java讀取word文檔,提取標題和內(nèi)容的實例

    java讀取word文檔,提取標題和內(nèi)容的實例

    這篇文章主要介紹了java讀取word文檔,提取標題和內(nèi)容的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • IntelliJ IDEA中使用mybatis-generator的示例

    IntelliJ IDEA中使用mybatis-generator的示例

    這篇文章主要介紹了IntelliJ IDEA中使用mybatis-generator,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Tomcat 服務器 在45秒內(nèi)未啟動成功的解決方法

    Tomcat 服務器 在45秒內(nèi)未啟動成功的解決方法

    下面小編就為大家?guī)硪黄猅omcat 服務器 在45秒內(nèi)未啟動成功的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • java多線程中的volatile和synchronized用法分析

    java多線程中的volatile和synchronized用法分析

    這篇文章主要介紹了java多線程中的volatile和synchronized用法分析,以實例的形式分析了在多線程中volatile和synchronized的用法區(qū)別與使用原理,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • springboot之如何獲取項目目錄路徑

    springboot之如何獲取項目目錄路徑

    這篇文章主要介紹了springboot之如何獲取項目目錄路徑問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Spring中@Import的各種用法以及ImportAware接口詳解

    Spring中@Import的各種用法以及ImportAware接口詳解

    這篇文章主要介紹了Spring中@Import的各種用法以及ImportAware接口詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10

最新評論

昭通市| 麻阳| 宝鸡市| 杭锦旗| 柳河县| 密山市| 西青区| 乌鲁木齐市| 龙门县| 宁南县| 镇原县| 额敏县| 商河县| 临安市| 梅河口市| 河津市| 莎车县| 古浪县| 民权县| 高青县| 恭城| 呼和浩特市| 大英县| 孙吴县| 武平县| 清新县| 黑河市| 城市| 镇远县| 淄博市| 兰考县| 太湖县| 海南省| 上饶市| 杨浦区| 丹阳市| 东乡县| 资源县| 肇庆市| 枝江市| 济阳县|