1. 程式人生 > >Spring Boot教程(三十五)使用MongoDB數據庫(1)

Spring Boot教程(三十五)使用MongoDB數據庫(1)

frame 既然 artifact html ace 數據庫 支持 高度 官網

MongoDB簡介

MongoDB是一個基於分布式文件存儲的數據庫,它是一個介於關系數據庫和非關系數據庫之間的產品,其主要目標是在鍵/值存儲方式(提供了高性能和高度伸縮性)和傳統的RDBMS系統(具有豐富的功能)之間架起一座橋梁,它集兩者的優勢於一身。

MongoDB支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型,也因為他的存儲格式也使得它所存儲的數據在Nodejs程序應用中使用非常流暢。

既然稱為NoSQL數據庫,Mongo的查詢語言非常強大,其語法有點類似於面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

但是,MongoDB也不是萬能的,同MySQL等關系型數據庫相比,它們在針對不同的數據類型和事務要求上都存在自己獨特的優勢。在數據存儲的選擇中,堅持多樣化原則,選擇更好更經濟的方式,而不是自上而下的統一化。

較常見的,我們可以直接用MongoDB來存儲鍵值對類型的數據,如:驗證碼、Session等;由於MongoDB的橫向擴展能力,也可以用來存儲數據規模會在未來變的非常巨大的數據,如:日誌、評論等;由於MongoDB存儲數據的弱類型,也可以用來存儲一些多變json數據,如:與外系統交互時經常變化的JSON報文。而對於一些對數據有復雜的高事務性要求的操作,如:賬戶交易等就不適合使用MongoDB來存儲。

MongoDB官網

訪問MongoDB

在Spring Boot中,對如此受歡迎的MongoDB,同樣提供了自配置功能。

引入依賴

Spring Boot中可以通過在pom.xml中加入spring-boot-starter-data-mongodb

引入對mongodb的訪問支持依賴。它的實現依賴spring-data-mongodb。是的,您沒有看錯,又是spring-data的子項目,之前介紹過spring-data-jpaspring-data-redis,對於mongodb的訪問,spring-data也提供了強大的支持,下面就開始動手試試吧。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

  

技術分享圖片源碼來源

Spring Boot教程(三十五)使用MongoDB數據庫(1)