package mongoDB; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; import com.mongodb.MongoException; /** * java * mongodb的數(shù)據(jù)插入、讀取、更新、刪除 */ public class test{ private static Mongo m = null; private static DB db = null; //數(shù)據(jù)集合名稱 private static final String COLLECTION_NAME = "mcpang"; /* * 測試java處理mongodb的增、刪、改、查操作 */ public static void main(String[] args) { //獲取數(shù)據(jù)庫連接 startMongoDBConn(); //保存數(shù)據(jù) createColData(); //讀取數(shù)據(jù) readColData(); //更新數(shù)據(jù) updateColData(); //讀取數(shù)據(jù) readColData(); //刪除數(shù)據(jù) deleteColData(); //讀取數(shù)據(jù) readColData(); //刪除數(shù)據(jù)集 db.getCollection(COLLECTION_NAME).drop(); //關(guān)閉數(shù)據(jù)庫連接 stopMondoDBConn(); } /** * 數(shù)據(jù)插入 * 測試數(shù)據(jù): * 【name:小李、age:30、address:北京】 * 【name:小張、age:25、address:天津】 * @return */ private static void createColData(){ DBCollection dbCol = db.getCollection(COLLECTION_NAME); System.out.println("向數(shù)據(jù)集中插入數(shù)據(jù)開始:"); List<DBObject> dbList = new ArrayList<DBObject>(); BasicDBObject doc1 = new BasicDBObject(); doc1.put("name", "小李"); doc1.put("age", 30); doc1.put("address", "北京"); dbList.add(doc1); BasicDBObject doc2 = new BasicDBObject(); doc2.put("name", "小張"); doc2.put("age", 25); doc2.put("address", "天津"); dbList.add(doc2); dbCol.insert(dbList); System.out.println("向數(shù)據(jù)集中插入數(shù)據(jù)完成!"); System.out.println("------------------------------"); } /** * 數(shù)據(jù)讀取 */ private static void readColData(){ DBCollection dbCol = db.getCollection(COLLECTION_NAME); DBCursor ret = dbCol.find(); System.out.println("從數(shù)據(jù)集中讀取數(shù)據(jù):"); while(ret.hasNext()){ BasicDBObject bdbObj = (BasicDBObject) ret.next(); if(bdbObj != null){ System.out.println("name:"+bdbObj.getString("name")); System.out.println("age:"+bdbObj.getInt("age")); System.out.println("address:"+bdbObj.getString("address")); } } } /** * 數(shù)據(jù)更新 * update(q, o, upsert, multi) * update(q, o, upsert, multi, concern) * update(arg0, arg1, arg2, arg3, arg4, arg5) * updateMulti(q, o) */ private static void updateColData(){ System.out.println("------------------------------"); DBCollection dbCol = db.getCollection(COLLECTION_NAME); DBCursor ret = dbCol.find(); BasicDBObject doc = new BasicDBObject(); BasicDBObject res = new BasicDBObject(); res.put("age", 40); System.out.println("將數(shù)據(jù)集中的所有文檔的age修改成40!"); doc.put("$set", res); dbCol.update(new BasicDBObject(),doc,false,true); System.out.println("更新數(shù)據(jù)完成!"); System.out.println("------------------------------"); } /** * 數(shù)據(jù)刪除 */ private static void deleteColData(){ System.out.println("------------------------------"); DBCollection dbCol = db.getCollection(COLLECTION_NAME); System.out.println("刪除【小李】!"); BasicDBObject doc = new BasicDBObject(); doc.put("name", "小李"); dbCol.remove(doc); System.out.println("------------------------------"); } /** * 關(guān)閉mongodb數(shù)據(jù)庫連接 */ private static void stopMondoDBConn(){ if (null != m) { if (null != db) { // 結(jié)束Mongo數(shù)據(jù)庫的事務(wù)請求 try { db.requestDone(); } catch(Exception e) { e.printStackTrace(); } } try { m.close(); } catch(Exception e) { e.printStackTrace(); } m = null; db = null; } } /** * 獲取mongodb數(shù)據(jù)庫連接 */ private static void startMongoDBConn(){ try { //Mongo(p1, p2):p1=>IP地址 p2=>端口 m = new Mongo("127.0.0.1", 27017); //根據(jù)mongodb數(shù)據(jù)庫的名稱獲取mongodb對象 db = m.getDB("yyl"); //校驗用戶密碼是否正確 if (!db.authenticate("yyl", "yyl123".toCharArray())){ System.out.println("連接MongoDB數(shù)據(jù)庫,校驗失敗!"); }else{ System.out.println("連接MongoDB數(shù)據(jù)庫,校驗成功!"); } } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); } } }
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
