java連接Mongodb實(shí)現(xiàn)增刪改查
更新時間:2020年03月06日 15:04:59 作者:lhh學(xué)bg
這篇文章主要為大家詳細(xì)介紹了java連接Mongodb實(shí)現(xiàn)增刪改查,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了java連接Mongodb實(shí)現(xiàn)增刪改查的具體代碼,供大家參考,具體內(nèi)容如下
1.創(chuàng)建maven項(xiàng)目
<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); // 獲取所有的數(shù)據(jù)庫 List<String> databaseNames = mongodbClint.getDatabaseNames(); for (String databaseName : databaseNames) { System.out.println("數(shù)據(jù)庫名稱 "+databaseName); } // 連接指定的數(shù)據(jù)庫 DB db = mongodbClint.getDB("text"); //獲取當(dāng)前數(shù)據(jù)庫下的所有集合名稱 Set<String> collectionNames = db.getCollectionNames(); for (String dbname : collectionNames) { System.out.println("集合名稱 "+dbname); } // 連接指定的集合 DBCollection collection = db.getCollection("stus"); // 數(shù)據(jù)集合信息 DBCursor dbObjects = collection.find(); while (dbObjects.hasNext()){ //讀取數(shù)據(jù) DBObject next = dbObjects.next(); // json 格式轉(zhuǎn)換 Stus parse = JSON.parseObject(next.toString(), Stus.class); // 數(shù)據(jù)輸出 System.out.println(parse); } } }
2.添加數(shù)據(jù)
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); // 連接數(shù)據(jù)庫 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); // 連接數(shù)據(jù)庫 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(); // 連接數(shù)據(jù)庫 MongoDatabase database = mongoClient.getDatabase("text"); // 得到集合封裝隊(duì)象 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(); // 連接數(shù)據(jù)庫 MongoDatabase database = mongoClient.getDatabase("text"); // 得到集合封裝隊(duì)象 MongoCollection<Document> stus = database.getCollection("stus"); // 查詢條件 BasicDBObject find = new BasicDBObject("name", "wangwu"); // 得到查詢結(jié)果 FindIterable<Document> results = stus.find(find); // 集合遍歷 for (Document result : results) { // 格式轉(zhuǎn)換 String s = JSON.toJSONString(result); // 查詢結(jié)果輸出 System.out.println(JSON.parseObject(s,Stus.class)); } } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java多線程實(shí)現(xiàn)第三方數(shù)據(jù)同步
這篇文章主要為大家詳細(xì)介紹了Java多線程實(shí)現(xiàn)第三方數(shù)據(jù)同步,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08SpringCloud之動態(tài)刷新、重試、服務(wù)化的實(shí)現(xiàn)
這篇文章主要介紹了SpringCloud 之動態(tài)刷新、重試、服務(wù)化的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10將SpringBoot的Jar注冊成Windows服務(wù)的實(shí)現(xiàn)方法
當(dāng)前項(xiàng)目有個地圖編輯器,后端用的是SpringBoot框架,外網(wǎng)剛好有一臺空閑的Windows服務(wù)器就直接拿來用了,將Java程序部署成Windows服務(wù)可以用WinSW (Windows Service Wrapper)來實(shí)現(xiàn),文中有詳細(xì)的操作步驟,需要的朋友可以參考下2023-11-11