亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

java操作mongoDb的簡單實(shí)例

系統(tǒng) 1960 0

MongoDB做為NoSQL數(shù)據(jù)庫,最近幾年持續(xù)升溫,越來越多的企業(yè)都開始嘗試用MongoDB代替原有Database做一些事情。MongoDB也在集群,分片,復(fù)制上也有相當(dāng)不錯(cuò)的的表現(xiàn)。我通過將做各種MongoDB的部署實(shí)驗(yàn)進(jìn)行介紹。

關(guān)于作者:

  • 鄭云飛, 程序員Java,Javascript,jquery,css,html,springMVC,Struts2,hibernate,oracle,mysql,hadoop,hbase,hive,sqoop,zookeeper,mongodb,redis
  • weibo:@zhengyunfei
  • blog: zhengyunfei.iteye.com
  • email: zhengyunfei8@gmail.com ? ?799078779@qq.com

?

linux-mongo-install

前言

MongoDB作為一種文檔型的NoSQL數(shù)據(jù)庫,使用起來非常靈活,回避了關(guān)系型數(shù)據(jù)庫前期的復(fù)雜數(shù)據(jù)庫設(shè)計(jì)。MongoDB存儲(chǔ)基于JSON格式,同時(shí)用Javascript做為數(shù)據(jù)庫操作語言,給了使用者無限想象的空間,可以通過編程在MongoDB服務(wù)器中解決非常復(fù)雜的條件查詢的問題。

目錄

  1. Mongodb創(chuàng)建數(shù)據(jù)庫鏈接
  2. java操作mongodb的方法

1 創(chuàng)建數(shù)據(jù)庫鏈接類

      package com.mongodb.test;

import java.net.UnknownHostException;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
import com.mongodb.util.JSON;

public class DataBase {

	public static void main(String[] args) throws UnknownHostException, MongoException {
		Mongo mg=new Mongo("127.0.0.1:27017");
		//查詢所有DataBase
		for(String name:mg.getDatabaseNames()){
			System.out.println("dbName:"+name);
		}
		//創(chuàng)建相關(guān)數(shù)據(jù)庫的鏈接
		DB db=mg.getDB("");
		//查詢數(shù)據(jù)庫所有的集合
		for(String name:db.getCollectionNames()){
			System.out.println("collectionName:"+name);
		}
		DBCollection users=db.getCollection("persons");
		//查詢所有的數(shù)據(jù)
		DBCursor cur=users.find();
		while(cur.hasNext()){
			DBObject object=cur.next();
			System.out.println(object.get("name"));
		}
		System.out.println(cur.count());
		System.out.println(cur.getCursorId());
		System.out.println(JSON.serialize(cur));
	}

}

    

java 操作mongodb的方法

      package com.mongodb.test;

import java.net.UnknownHostException;
import java.util.List;

import org.bson.types.ObjectId;

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;

public class MongoDB {
	//1.建立一個(gè)mongodb的數(shù)據(jù)庫鏈接對(duì)象
	private static Mongo connection=null;
	//創(chuàng)建相關(guān)數(shù)據(jù)庫的鏈接
	private static DB db=null;
	public MongoDB(String dbName) throws UnknownHostException, MongoException{
		connection=new Mongo("");
		db=connection.getDB(dbName);
	}
	public static void main(String[] args) throws UnknownHostException, MongoException {
		//實(shí)例化
		MongoDB mongoDb=new MongoDB("footbar");
		 /** 
	      * 1.創(chuàng)建一個(gè)名字叫javadb的數(shù)據(jù)庫 
	      */ 
	//  mongoDb.createCollection("javadb"); 
	  /** 
	   * 2.為集合javadb添加一條數(shù)據(jù) 
	   */ 
	//  DBObject dbs = new BasicDBObject(); 
	//  dbs.put("name", "uspcat.com"); 
	//  dbs.put("age", 2); 
	//  List<String>  books = new ArrayList<String>(); 
	//  books.add("EXTJS"); 
	//  books.add("MONGODB"); 
	//  dbs.put("books", books); 
	//  mongoDb.insert(dbs, "javadb"); 
	  /** 
	   * 3.批量插入數(shù)據(jù) 
	   */ 
	//  List<DBObject> dbObjects = new ArrayList<DBObject>(); 
	//  DBObject jim = new BasicDBObject("name","jim"); 
	//  DBObject lisi = new BasicDBObject("name","lisi"); 
	//  dbObjects.add(jim); 
	//  dbObjects.add(lisi); 
	//  mongoDb.insertBatch(dbObjects, "javadb"); 
	  /** 
	   * 4.根據(jù)ID刪除數(shù)據(jù) 
	   */ 
	//  mongoDb.deleteById("502870dab9c368bf5b151a04", "javadb"); 
	  /** 
	   * 5.根據(jù)條件刪除數(shù)據(jù) 
	   */ 
	//  DBObject lisi = new BasicDBObject(); 
	//  lisi.put("name", "lisi"); 
	//  int count = mongoDb.deleteByDbs(lisi, "javadb"); 
	//  System.out.println("刪除數(shù)據(jù)的條數(shù)是: "+count); 
	  /** 
	   * 6.更新操作,為集合增加email屬性 
	   */ 
	//  DBObject update = new BasicDBObject(); 
	//  update.put("$set", 
//	    new BasicDBObject("eamil","test @126.com ")); 
	//  mongoDb.update(new BasicDBObject(), 
//	    update,false,true,"javadb"); 
	  /** 
	   * 7.查詢出persons集合中的name和age 
	   */ 
	//  DBObject keys = new BasicDBObject(); 
	//  keys.put("_id", false); 
	//  keys.put("name", true); 
	//  keys.put("age", true); 
	//  DBCursor cursor = mongoDb.find(null, keys, "persons"); 
//	     while (cursor.hasNext()) { 
//	      DBObject object = cursor.next(); 
//	      System.out.println(object.get("name")); 
//	     } 
	     /** 
	      * 7.查詢出年齡大于26歲并且英語成績小于80分 
	      */ 
	//  DBObject ref = new BasicDBObject(); 
	//  ref.put("age", new BasicDBObject("$gte",26)); 
	//  ref.put("e", new BasicDBObject("$lte",80)); 
	//  DBCursor cursor = mongoDb.find(ref, null, "persons"); 
//	     while (cursor.hasNext()) { 
//	      DBObject object = cursor.next(); 
//	      System.out.print(object.get("name")+"-->"); 
//	      System.out.print(object.get("age")+"-->"); 
//	      System.out.println(object.get("e")); 
//	     } 
	  /** 
	   * 8.分頁例子 
	   */ 
	  DBCursor cursor = mongoDb.find(null, null, 0, 3, "persons"); 
	     while (cursor.hasNext()) { 
	      DBObject object = cursor.next(); 
	      System.out.print(object.get("name")+"-->"); 
	      System.out.print(object.get("age")+"-->"); 
	      System.out.println(object.get("e")); 
	     }   
	  //關(guān)閉連接對(duì)象 
	  connection.close(); 
	 } 
	 /** 
	  * 穿件一個(gè)數(shù)據(jù)庫集合 
	  * @param collName 集合名稱 
	  * @param db  數(shù)據(jù)庫實(shí)例 
	  */ 
	 public void createCollection(String collName){ 
	  DBObject dbs = new BasicDBObject(); 
	  db.createCollection("javadb", dbs); 
	 } 
	 /** 
	  * 為相應(yīng)的集合添加數(shù)據(jù) 
	  * @param dbs 
	  * @param collName 
	  */ 
	 public void insert(DBObject dbs,String collName){ 
	  //1.得到集合 
	  DBCollection coll = db.getCollection(collName); 
	  //2.插入操作 
	  coll.insert(dbs); 
	 } 
	 /** 
	  * 為集合批量插入數(shù)據(jù) 
	  * @param dbses 
	  * @param collName 
	  */ 
	 public void insertBatch(List<DBObject> dbses,String collName){ 
	  //1.得到集合 
	  DBCollection coll = db.getCollection(collName); 
	  //2.插入操作 
	  coll.insert(dbses); 
	 } 
	 /** 
	  * 根據(jù)id刪除數(shù)據(jù) 
	  * @param id 
	  * @param collName 
	  * @return 返回影響的數(shù)據(jù)條數(shù) 
	  */ 
	 public int deleteById(String id,String collName){ 
	  //1.得到集合 
	  DBCollection coll = db.getCollection(collName); 
	  DBObject dbs = new BasicDBObject("_id", new ObjectId(id)); 
	  int count = coll.remove(dbs).getN(); 
	  return count; 
	 } 
	 /** 
	  * 根據(jù)條件刪除數(shù)據(jù) 
	  * @param id 
	  * @param collName 
	  * @return 返回影響的數(shù)據(jù)條數(shù) 
	  */  
	 public int deleteByDbs(DBObject dbs,String collName){ 
	  //1.得到集合 
	  DBCollection coll = db.getCollection(collName); 
	  int count = coll.remove(dbs).getN(); 
	  return count; 
	 } 
	 /** 
	  * 更新數(shù)據(jù) 
	  * @param find 查詢器 
	  * @param update 更新器 
	  * @param upsert 更新或插入 
	  * @param multi 是否批量更新 
	  * @param collName 集合名稱 
	  * @return 返回影響的數(shù)據(jù)條數(shù) 
	  */ 
	 public int update(DBObject find, 
	      DBObject update, 
	      boolean upsert, 
	      boolean multi, 
	      String collName){ 
	  //1.得到集合 
	  DBCollection coll = db.getCollection(collName); 
	  int count = coll.update(find, update, upsert, multi).getN(); 
	  return count; 
	 } 
	 /** 
	  * 查詢器(分頁) 
	  * @param ref 
	  * @param keys 
	  * @param start 
	  * @param limit 
	  * @return 
	  */ 
	 public DBCursor find(DBObject ref, 
	   DBObject keys, 
	   int start, 
	   int limit, 
	   String collName){ 
	  DBCursor cur = find(ref, keys, collName); 
	  return cur.limit(limit).skip(start); 
	 } 
	 /** 
	  * 查詢器(不分頁) 
	  * @param ref 
	  * @param keys 
	  * @param start 
	  * @param limit 
	  * @param collName 
	  * @return 
	  */ 
	 public DBCursor find(DBObject ref, 
	   DBObject keys, 
	   String collName){ 
	  //1.得到集合 
	  DBCollection coll = db.getCollection(collName); 
	  DBCursor cur = coll.find(ref, keys); 
	  return cur; 
	 }  
	
}

    

?

      
    

java操作mongoDb的簡單實(shí)例


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产伦理精品 | 久久ri精品高清一区二区三区 | 一区二区三区免费视频 www | 中文字幕精品一区二区三区视频 | 波多野结衣xxxx性精品 | 日韩欧美伦理 | 91xav在线| 九九热在线视频观看 | 欧美综合亚洲图片综合区 | 久久婷婷一区二区三区 | 亚洲 欧美 bt | 99久女女精品视频在线观看 | 日韩亚洲欧美性感视频影片免费看 | 麻豆亚洲精品一区二区 | 久久精品店| 天天操天天干天天玩 | 精品国产日韩一区三区 | 免费一级欧美毛片 | 成人黄色一级片 | 在线色片 | 狠狠操天天操夜夜操 | 久草在线视频在线观看 | 亚洲精品 国产 日韩 | 国产免费区 | 激情免费网站 | 精品一区二区三区四区 | 两性色午夜视频免费老司机 | 老妇女性较大毛片 | 欧美日韩一区二区视频免费看 | 国产成人精品日本亚洲语音1 | 91不卡| 精品久久久99大香线蕉 | 久久日韩精品 | 曰曰鲁夜夜免费播放视频 | 国产亚洲精品自在久久77 | japanese国产高清麻豆 | www午夜视频 | 国产成人aa视频在线观看 | 99国产在线 | 国产精品久久精品福利网站 | 丝袜三级 |