java連接Mongodb實(shí)現(xiàn)增刪改查
本文實(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.編寫(xiě)代碼
1.查詢(xún)所有
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) { //客戶(hù)端鏈接 MongoClient mongodbClint = new MongoClient('localhost', 27017); // 獲取所有的數(shù)據(jù)庫(kù) List<String> databaseNames = mongodbClint.getDatabaseNames(); for (String databaseName : databaseNames) { System.out.println('數(shù)據(jù)庫(kù)名稱(chēng) '+databaseName); } // 連接指定的數(shù)據(jù)庫(kù) DB db = mongodbClint.getDB('text'); //獲取當(dāng)前數(shù)據(jù)庫(kù)下的所有集合名稱(chēng) Set<String> collectionNames = db.getCollectionNames(); for (String dbname : collectionNames) { System.out.println('集合名稱(chēng) '+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ù)庫(kù) MongoDatabase database = mongodbClint.getDatabase('text'); // 獲取對(duì)象 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', '南陽(yáng)'); 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ù)庫(kù) MongoDatabase database = location.getDatabase('text'); //獲取集合封賬對(duì)象 MongoCollection<Document> collection = database.getCollection('stus'); // 刪除的條件 BasicDBObject dbObject = new BasicDBObject('name', '諸葛亮'); // 刪除符合條件的第一個(gè) 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ù)庫(kù) MongoDatabase database = mongoClient.getDatabase('text'); // 得到集合封裝隊(duì)象 MongoCollection<Document> stuo = database.getCollection('stus'); // 查詢(xún)條件 BasicDBObject upFind = new BasicDBObject('name', 'wangwu'); // 修改的值 BasicDBObject upNew = new BasicDBObject('$set', new BasicDBObject('address', '高老莊')); // 修改符合條件的第一個(gè)值 stuo.updateOne(upFind, upNew); //修改符合條件的全部// stuo.updateMany(upFind, upNew); }}
5.條件查詢(xún)
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ù)庫(kù) MongoDatabase database = mongoClient.getDatabase('text'); // 得到集合封裝隊(duì)象 MongoCollection<Document> stus = database.getCollection('stus'); // 查詢(xún)條件 BasicDBObject find = new BasicDBObject('name', 'wangwu'); // 得到查詢(xún)結(jié)果 FindIterable<Document> results = stus.find(find); // 集合遍歷 for (Document result : results) { // 格式轉(zhuǎn)換 String s = JSON.toJSONString(result); // 查詢(xún)結(jié)果輸出 System.out.println(JSON.parseObject(s,Stus.class)); } }}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. java實(shí)現(xiàn)圖形化界面計(jì)算器2. javascript設(shè)計(jì)模式 ? 建造者模式原理與應(yīng)用實(shí)例分析3. Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考4. IntelliJ Idea2017如何修改緩存文件的路徑5. IDEA的Mybatis Generator駝峰配置問(wèn)題6. 解決idea中yml文件不識(shí)別的問(wèn)題7. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟8. IIS Express 取代 ASP.NET Development Server的配置方法9. 一篇文章帶你了解JavaScript-對(duì)象10. Spring-Richclient 0.1.0 發(fā)布
