1. 程式人生 > 程式設計 >java連線Mongodb實現增刪改查

java連線Mongodb實現增刪改查

本文例項為大家分享了java連線Mongodb實現增刪改查的具體程式碼,供大家參考,具體內容如下

1.建立maven專案

<dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongodb-driver</artifactId>
      <version>3.4.1</version>
</dependency>

2.編寫程式碼

1.查詢所有

package com.czxy.mongodb;
 
import com.alibaba.fastjson.JSON;
import com.mongodb.*;
 
import java.util.List;
import java.util.Set;
 
public class Find {
  public static void main(String[] args) {
    //客戶端連結
    MongoClient mongodbClint = new MongoClient("localhost",27017);
    // 獲取所有的資料庫
    List<String> databaseNames = mongodbClint.getDatabaseNames();
    for (String databaseName : databaseNames) {
      System.out.println("資料庫名稱 "+databaseName);
    }
    // 連線指定的資料庫
    DB db = mongodbClint.getDB("text");
 
    //獲取當前資料庫下的所有集合名稱
    Set<String> collectionNames = db.getCollectionNames();
    for (String dbname : collectionNames) {
      System.out.println("集合名稱 "+dbname);
    }
    // 連線指定的集合
    DBCollection collection = db.getCollection("stus");
     // 資料集合資訊
    DBCursor dbObjects = collection.find();
 
    while (dbObjects.hasNext()){
      //讀取資料
      DBObject next = dbObjects.next();
      // json 格式轉換
      Stus parse = JSON.parseObject(next.toString(),Stus.class);
      // 資料輸出
      System.out.println(parse);
    }
  }
}

2.新增資料

package com.czxy.mongodb;
 
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
 
import java.util.HashMap;
import java.util.Map;
 
public class Insert {
  public static void main(String[] args) {
    // 獲取連線
    MongoClient mongodbClint = new MongoClient("localhost",27017);
    // 連線資料庫
    MongoDatabase database = mongodbClint.getDatabase("text");
    // 獲取物件
    MongoCollection<Document> stus = database.getCollection("stus");
    Map<String,Object> map=new HashMap();
    map.put("name","諸葛亮");
    map.put("sex","男");
    map.put("age",35.0);
    map.put("address","南陽");
    Document document = new Document(map);
    System.out.println(document);
    stus.insertOne(document);
  }
}

3.刪除

package com.czxy.mongodb;
 
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
 
/**
 * 刪除
 */
public class Delete {
  public static void main(String[] args) {
    //獲取連線
    MongoClient location = new MongoClient("localhost",27017);
    // 連線資料庫
    MongoDatabase database = location.getDatabase("text");
    //獲取集合封賬物件
    MongoCollection<Document> collection = database.getCollection("stus");
    // 刪除的條件
    BasicDBObject dbObject = new BasicDBObject("name","諸葛亮");
    // 刪除符合條件的第一個
     collection.deleteOne(dbObject);
     // 刪除符合條件的所有
//     collection.deleteMany(new BasicDBObject("name","lisi"));
  }
}

4.修改

package com.czxy.mongodb;
 
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
 
import java.awt.*;
 
public class Update {
  public static void main(String[] args) {
    // 獲取連線
    MongoClient mongoClient = new MongoClient();
    // 連線資料庫
    MongoDatabase database = mongoClient.getDatabase("text");
    // 得到集合封裝隊象
    MongoCollection<Document> stuo = database.getCollection("stus");
    // 查詢條件
     BasicDBObject upFind = new BasicDBObject("name","wangwu");
    // 修改的值
    BasicDBObject upNew = new BasicDBObject("$set",new BasicDBObject("address","高老莊"));
    // 修改符合條件的第一個值
    stuo.updateOne(upFind,upNew);
    //修改符合條件的全部
//    stuo.updateMany(upFind,upNew);
  }
}

5.條件查詢

package com.czxy.mongodb;
 
import com.alibaba.fastjson.JSON;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
 
public class FindEq {
  public static void main(String[] args) {
    // 獲取連線
    MongoClient mongoClient = new MongoClient();
    // 連線資料庫
    MongoDatabase database = mongoClient.getDatabase("text");
    // 得到集合封裝隊象
    MongoCollection<Document> stus = database.getCollection("stus");
    // 查詢條件
    BasicDBObject find = new BasicDBObject("name","wangwu");
    // 得到查詢結果
    FindIterable<Document> results = stus.find(find);
    // 集合遍歷
    for (Document result : results) {
      // 格式轉換
      String s = JSON.toJSONString(result);
      // 查詢結果輸出
      System.out.println(JSON.parseObject(s,Stus.class));
    }
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。