Java操作MongoDB数据库(简明版)
除了通過啟動 mongo 進程進如 Shell 環境訪問數據庫外,MongoDB?還提供了其他基于編程語言的訪問數據庫方法。MongoDB 官方提供了?Java?和?Python?語言的驅動包,利用這些驅動包可使用多種編程方法來連接并操作 MongoDB 數據庫。
使用 Python 語言的讀者請轉到:Python操作MongoDB數據庫
本節將介紹如何設置和使用 MongoDB JDBC 驅動程序,通過 JDBC 實現與 MongoDB 服務端的通信功能,用戶可以在此基礎上進行各種 Java 程序的開發。
安裝 Java 語言驅動包
1)?Maven?方式
推薦使用 Maven 的方式管理 MongoDB 的相關依賴包,Maven 項目中只需導入如下 pom 依賴包即可:
<dependency><groupld>org.mongodb</groupld><artifactld>mongodb-driver</artifact1d><version>3.4</version></dependency><dependency><groupld>org.mongodb</groupld><artifactld>bson</artifactId><version>3.4</version></dependency><dependency><groupld>org.mongodb</groupId><artifactId>Mongodb-driver-core</artifactld><version>3.4</version></dependency>2) 手動導入
如果手動下載 mongodb-driver,還必須下載其依賴項 bson 和 mongodb-driver-core。在這里需要注意的是,這三個安裝包需要配合使用,并且版本必須一致,否則運行時會報錯。
首先安裝 MongoDB,本節實例為 MongoDB 3.4.2 版本;然后安裝 Java 開發工具,本節采用 Eclipse 開發工具。通過 Github 網站下載驅動包,分別為 mongodb-driver-3.4.2.jar、mongodb-driver-core-3.4.2.jar、bson-3.4.2.jar。
用 Eclipse 創建項目,然后導入需要的包,就可以在 Eclipse 中用代碼實現 MongoDB 的簡易連接。
編程實現
1) import 基礎類庫
若要完成 MongoDB 的增、刪、改、查等操作,則需要導入很多類庫。這里介紹可能會用到的類庫,如連接數據庫和建立客戶端的類庫、數據庫集合和文件操作的類庫等。
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.dient.MongoCollection;
可以根據編程需要添加必要的類庫。
2) 連接數據庫
若要連接數據庫,則需要指定數據庫名稱。如果數據庫不存在,則 MongoDB 會自動創建數據庫。如下代碼實現了簡易的數據庫連接:
public class App {public static void main(String[] args) {try {//連接MongoDB服務器,端口號為27017MongoClient mongoClient = new MongoClient("localhost", 27017);//連接數據庫MongoDatabase mDatabase = mongoClient.getDatabase("test"); ?//test可選System.out.printin("Connect to database successfully!");System.out.printIn("MongoDatabase inof is : "+mDatabase.getName());} catch (Exception e) {System.err.printIn(e.getClass().getName() + ": " + e.getMessage());}}}?
3) 切換至集合
連接至具體數據庫以后,使用以下代碼切換到集合,如果集合不存在,則使用如下代碼新建集合:
MongoCollection collection = database.getCollection("myTestCollection");
?
4) 插入文檔
切換至集合后,就可以進行文檔的增、刪、改、查操作。首先定義文檔,并使用 append。方法追加內容,代碼如下:
Document document = new Document("_id", 1999)
????????????????????.append("title", "MongoDB Insert Demo")
????????????????????.append("description","database")
????????????????????.append("likes", 30)
????????????????????.append("by", "demo point")
????????????????????.append("url", "http://c.biancheng.net/mongodb/");
document 為 BSON 類型的文檔,實際上為一個列表,每項有兩個元素,即字段名和值。
文檔定義完成后,再使用 insertOne 方法將此文檔插入集合:
collection.insertOne(document);
如果插入多條數據,需要先定義一個 Document 列表,然后用 add() 方法添加多個 Document 元素,最后用 insertMany() 方法插入,代碼如下:
List<Document> documents = new ArrayList<Document>();
documents.add(document1);
collection.insertMany(documents);
?
5) 刪除文檔
使用 delete() 方法刪除一個或多個文檔,代碼如下:
collection.deleteOne(document);
collection.deleteMany(new Document ("likes", 30));
?
6) 更新數據
使用 updataOne() 方法更新一條數據或多個數據,代碼如下:
collection.updataOne (eq ("likes", 30), new Document ("$set", new Document ("likes", 50)));
updateOne() 方法中有兩個參數,第一個參數表示更新的內容等于 ("likes",30) 的文檔,第二個參數為要修改的內容,使用 $set 參數修改當前值,修改的內容為 ("likes", 50)。
?
7) 查詢數據
利用游標類型實現數據的查詢和遍歷顯示,使用游標前需要 import MongoCursor 類庫。
import com.mongodb.client.MongoCursor;
document Doc = (Document)collection.find(eq("likes", 30)).iterator();
MongoCursor<Document> cursor =collection.find().iterator();
try{
????while (cursor.hasNext()){
????????System.out.printin(cursor.next().toJson());
????}
} finally{
????Cursor.close();
}
設置 find() 方法的參數為查詢條件,參數為比較的 Document 元素。
?
8) 其他方法
刪除數據庫或集合,代碼如下:
mDatabase.drop();
collection.drop();
關閉客戶端連接,代碼如下:
mongoClient.close();
?
總結
以上是生活随笔為你收集整理的Java操作MongoDB数据库(简明版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Intel 9代CPU自砍鸡肋:全新酷睿
- 下一篇: 【Unity3D小技巧】Unity3D中