MongoDB使用Java操作資料庫案例
阿新 • • 發佈:2018-12-24
一、pom.xml依賴
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.10.1</version> </dependency> </dependencies>
二、增刪查改程式碼
package com.sunft; import java.util.Map; import org.bson.types.ObjectId; import org.junit.Test; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; /** * 使用Java程式碼來呼叫Mongodb資料庫 * * @author sunft * */ public class MongoDbDao { /** * 增加 * * @throws Exception */ @Test public void add() throws Exception { // 建立起一個連線 Mongo mongo = new Mongo("localhost", 27017); // 獲取到指定的資料庫 DB db = mongo.getDB("test"); DBCollection dbcollection = db.getCollection("person"); // 預設為{} DBObject dbobject = new BasicDBObject(); dbobject.put("name", "卡卡羅特"); dbobject.put("age", 18); // db.collectionName.insert dbcollection.insert(dbobject); mongo.close(); } /** * 查詢 * @throws Exception */ @Test public void testQuery() throws Exception { // 建立起一個連線 Mongo mongo = new Mongo("localhost", 27017); // 獲取到指定的資料庫 DB db = mongo.getDB("test"); DBCollection dbCollection = db.getCollection("person"); // {} // db.collectionName.find(); DBObject dbobject = new BasicDBObject(); dbobject.put("age", 18); // 返回結果集 DBCursor dbCursor = dbCollection.find(dbobject); // 遍歷獲取結果集 while (dbCursor.hasNext()) { DBObject dbo = dbCursor.next(); Map map = dbo.toMap(); for (Object key : map.keySet()) { System.out.println("key:" + key.toString()); } for (Object value : map.values()) { System.out.println("value:" + value.toString()); } } } /** * 刪除 * @throws Exception */ @Test public void testRemove() throws Exception { // 建立起一個連線 Mongo mongo = new Mongo("localhost", 27017); // 獲取到指定的資料庫 DB db = mongo.getDB("test"); DBCollection dbCollection = db.getCollection("person"); DBObject dbobject = new BasicDBObject(); dbCollection.remove(dbobject); mongo.close(); } /** * 更新 * @throws Exception */ @Test public void testUpdate() throws Exception { // 建立起一個連線 Mongo mongo = new Mongo("localhost", 27017); // 獲取到指定的資料庫 DB db = mongo.getDB("test"); DBCollection dbCollection = db.getCollection("person"); /** * 更新的條件 * 更新的內容的物件 * 如果沒有符合條件的記錄,是否新增一條記錄 * 如果有多條記錄符合,是否全部更新 */ DBObject updateCondition=new BasicDBObject(); updateCondition.put("_id", new ObjectId("5b1089ff44634a6c9ac6ddd2")); DBObject updatedValue=new BasicDBObject(); updatedValue.put("name", "貝吉塔"); DBObject updateSetValue=new BasicDBObject("$set",updatedValue); int n = dbCollection.update(updateCondition, updateSetValue, true, true).getN(); System.out.println(n); mongo.close(); } }