Spring Data MongoDB詳細教程

Spring Data MongoDB詳細教程

在當今世界,儘快啟動並執行應用程式非常重要。應用程式也應該易於開發和維護。

Spring是這樣的框架,它提供了與許多不同框架的整合的簡便性,這使得使用Spring開發應用程式變得很容易。一個這樣的整合就是將Spring與MongoDB整合。

1。介紹

在本教程中,我們將討論最著名的Java框架“Spring”和最著名的NoSQL資料庫“MongoDB”的組合。 MongoDB是一個基於文件的NoSQL資料庫,以JSON結構儲存資料。

Spring提供了SpringData和MongoDB整合,以便輕鬆整合這兩者,併為開發人員提供便利,而無需為插入,更新和刪除而編寫多個查詢。

下面是SpringData MongoDB專案提供的一些功能:

SpringData允許使用@Configuration類和基於XML的配置。

Spring的資料訪問異常層次結構用於異常轉換。

Java的POJO和MongoDB文件之間的整合對映。

MongoTemplate類,可以很容易地使用常見的MongoDB操作。

除了用於低階對映的MongoTemplate,MongoReader和MongoWriter類。

理解任何技術的最好方法就是練習它,現在我們也會這樣做。

現在我們來做一個簡單的程式來詳細瞭解Spring Data MongoDB。

2。技術和工具

讓我們看看用於構建該程式的技術和工具。

Eclispe Oxygen。2版本(4。7。2)

Java - 版本9。0。4

Gradle - 4。6

MongoDB伺服器 - 3。6

MongoCompass - 3。6

SpringDataMongoDB - 2。0。5-RELEASE

3。專案結構

我們的專案結構如下圖所示。

Spring Data MongoDB詳細教程

Gradle專案結構將具有上面顯示的專案結構。 如果是pom。xml,專案結構會略有不同。

4。計劃

作為這個計劃的一部分,我們將嘗試完成下面提到的目標。

儲存物件到MongoDB

在MongoDB中更新物件

從MongoDB中刪除物件

從MongoDB獲取所有物件

現在讓我們瞭解該程式的所有元件。 首先,我們將從程式依賴和程式所需的罐子開始。

4。1 Gradle

我們使用Gradle作為程式的一部分。 Thebuild。gradlefile將如下所示。

Spring Data MongoDB詳細教程

在上面的build。gradlefileapply外掛中:‘java’tells我們需要設定的外掛。 對我們來說這是Java外掛。

repositories {}讓我們知道應該從哪個版本庫中提取依賴關係。 我們選擇了mavenCentralto拉依賴罐。 我們可以使用它來拉動相應的依賴瓶。

依賴關係{}標記用於提供必須為專案拉取的必要jar檔案細節。

4。2 MongoDB的配置

為了使用MongoDB配置,我們需要實現AbstractMongoConfiguration類。 MongoConfig。java類將如下所示。 我們在這裡使用註釋而不是xml。 但是,即使XML也可用於設定配置。

@ Configurationis用於將classMongoConfig。java定義為配置類。@ Beandefines theMongoClientbean。

4。3模型類

我們現在看看模型類。 我們使用student。java作為模型類,其中包含學生的姓名和年齡等屬性。 Student。javamodel類用於將POJO對映到MongoDB集合。

Spring Data MongoDB詳細教程

@Document定義文件。 propertycollection定義將用於對映集合的集合。 所有作為集合一部分提及的屬性都應該在POJO類中提供@ @定義集合的ID。

4。4 CRUD操作

要執行儲存資料,更新資料,刪除資料以及從MongoDB獲取資料等CRUD操作,我們將使用MongoOperations。

現在我們來看看MongoDBPOperations。java類。 這個類包含所有CRUD操作方法的實現。

Spring Data MongoDB詳細教程

Java程式中最重要的類是包含主要方法的類。

4。5應用程式類

包含main方法的主類是application。javaclass。 我們將使用這個類從MongoDBPOperations類中呼叫方法。

Spring Data MongoDB詳細教程

讓我們看看在Application。javaclass中執行的逐步操作:

我們正在建立應用程式上下文。 這是由於需要載入配置。

另外,MongoOperationsobject被建立為loadMongoTemplatebean。

MongoDBOperationsobject提供對執行不同的MongoOperation方法的方法的訪問。

此外建立一個姓名約翰和年齡為15的學生物件。

我們正在呼叫儲存方法MongoDBOperations,我們將傳遞必要的引數以將物件儲存在資料庫中。

同樣,我們將一個MongoDBOperationsone的不同方法呼叫。

4。6執行程式

最後讓我們現在執行該程式作為一個Java應用程式。 右鍵單擊Application。java - > Run as - > Java Application。

以下結果將顯示在控制檯上。

Spring Data MongoDB詳細教程

現在讓我們評論一下刪除物件的命令。 MongoDB將成功儲存資料。

此外,讓我們對刪除物件的行進行註釋,如下所示。

Spring Data MongoDB詳細教程

由於該計劃的變化,讓我們重新執行該計劃。 以下內容將出現在控制檯上。

Spring Data MongoDB詳細教程

作為評論刪除命令的結果,MongoDB將儲存資料,因此將如下所示。

Spring Data MongoDB詳細教程