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.編寫代碼
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ù)庫(kù) List<String> databaseNames = mongodbClint.getDatabaseNames(); for (String databaseName : databaseNames) { System.out.println('數(shù)據(jù)庫(kù)名稱 '+databaseName); } // 連接指定的數(shù)據(jù)庫(kù) DB db = mongodbClint.getDB('text'); //獲取當(dāng)前數(shù)據(jù)庫(kù)下的所有集合名稱 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ù)庫(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'); // 查詢條件 BasicDBObject upFind = new BasicDBObject('name', 'wangwu'); // 修改的值 BasicDBObject upNew = new BasicDBObject('$set', new BasicDBObject('address', '高老莊')); // 修改符合條件的第一個(gè)值 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ù)庫(kù) 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)); } }}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Ajax實(shí)現(xiàn)表格中信息不刷新頁(yè)面進(jìn)行更新數(shù)據(jù)2. 詳解CSS偽元素的妙用單標(biāo)簽之美3. pip已經(jīng)安裝好第三方庫(kù)但pycharm中import時(shí)還是標(biāo)紅的解決方案4. Java Spring WEB應(yīng)用實(shí)例化如何實(shí)現(xiàn)5. UDDI FAQs6. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法7. HTML <!DOCTYPE> 標(biāo)簽8. Python collections模塊的使用方法9. CSS自定義滾動(dòng)條樣式案例詳解10. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法
